官术网_书友最值得收藏!

Strings

A string is a sequence of characters used to represent text. In JavaScript, any value placed between single or double quotes is considered a string. This means that 1 is a number, but "1" is a string. When used with strings, typeof returns the string "string":

> var s = "some characters";
> typeof s;
"string"
> var s = 'some characters and numbers 123 5.87';
> typeof s;
"string"

Here's an example of a number used in the string context:

> var s = '1';
> typeof s;
"string"

If you put nothing in quotes, it's still a string (an empty string):

> var s = ""; typeof s;
"string"

As you already know, when you use the plus sign with two numbers, this is the arithmetic addition operation. However, if you use the plus sign with strings, this is a string concatenation operation, and it returns the two strings glued together:

> var s1 = "web"; 
> var s2 = "site"; 
> var s = s1 + s2; 
> s;
"website"
> typeof s;
"string"

The dual purpose of the + operator is a source of errors. Therefore, if you intend to concatenate strings, it's always best to make sure that all of the operands are strings. The same applies for addition; if you intend to add numbers, make sure the operands are numbers. You'll learn various ways to do so further in the chapter and the book.

String conversions

When you use a number-like string (for example "1") as an operand in an arithmetic operation, the string is converted to a number behind the scenes. This works for all arithmetic operations except addition, because of its ambiguity:

> var s = '1'; 
> s = 3 * s; 
> typeof s;
"number"
> s;
3
> var s = '1';
> s++;
> typeof s;
"number"
> s;
2

A lazy way to convert any number-like string to a number is to multiply it by 1 (another way is to use a function called parseInt(), as you'll see in the next chapter):

> var s = "100"; typeof s;
"string"
> s = s * 1;
100
> typeof s;
"number"

If the conversion fails, you'll get NaN:

> var movie = '101 dalmatians';
> movie * 1;
NaN

You convert a string to a number by multiplying by 1. The opposite—converting anything to a string—can be done by concatenating it with an empty string:

> var n = 1;
> typeof n;
"number"
> n = "" + n;
"1"
> typeof n;
"string"

Special strings

There are also strings with special meanings, as listed in the following table:

There are also additional characters that are rarely used: \b (backspace), \v (vertical tab), and \f (form feed).

主站蜘蛛池模板: 都兰县| 滦南县| 无棣县| 仙居县| 赤城县| 凌云县| 清水河县| 永春县| 炉霍县| 颍上县| 确山县| 溆浦县| 迁西县| 马公市| 门头沟区| 闽清县| 安远县| 简阳市| 元谋县| 黔西县| 巴彦淖尔市| 永顺县| 营口市| 舒城县| 兴山县| 桐城市| 贵南县| 剑川县| 新野县| 大丰市| 晋中市| 色达县| 顺昌县| 文水县| 通海县| 贡嘎县| 阿鲁科尔沁旗| 临江市| 亚东县| 桓台县| 大方县|