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

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).

主站蜘蛛池模板: 咸阳市| 永吉县| 沾益县| 舞阳县| 眉山市| 灵石县| 安西县| 炉霍县| 林州市| 乌鲁木齐县| 凤山市| 图木舒克市| 杂多县| 梅州市| 赤城县| 南华县| 安丘市| 沭阳县| 祁连县| 遂川县| 柏乡县| 广宁县| 洛阳市| 高要市| 龙南县| 达日县| 营口市| 永胜县| 无为县| 云龙县| 廊坊市| 依安县| 乌兰县| 于田县| 深州市| 老河口市| 黄冈市| 广水市| 北票市| 大城县| 叶城县|