定义
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
"abc""abc"
单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。
"key = "value"""It"s a long journey"
上面两个都是合法的字符串。
如果要在单引号字符串的内部,使用单引号(或者在双引号字符串的内部,使用双引号),就必须在内部的单引号(或者双引号)前面加上反斜杠,用来转义。
"Did she say "Hello"?"// "Did she say "Hello"?""Did she say "Hello"?"// "Did she say "Hello"?"
由于HTML语言的属性值使用双引号,所以很多项目约定JavaScript语言的字符串只使用单引号,本教程就遵守这个约定。当然,只使用双引号也完全可以。重要的是,坚持使用一种风格,不要两种风格混合。
字符串默认只能写在一行内,分成多行将会报错。
"abc"// SyntaxError: Unexpected token ILLEGAL
上面代码将一个字符串分成三行,JavaScript就会报错。
如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。
var longString = "Long long long string";longString// "Long long long string"
上面代码表示,加了反斜杠以后,原来写在一行的字符串,可以分成多行书写。但是,输出的时候还是单行,效果与写在同一行完全一样。注意,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。
连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候也是单行。
var longString = "Long " + "long " + "long " + "string";
如果想输出多行字符串,有一种利用多行注释的变通方法。
(function () { /*line 1line 2line 3*/}).toString().split("
").slice(1, -1).join("
")// "line 1// line 2// line 3"上面的例子中,输出的字符串就是多行。
转义
反斜杠()在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
需要用反斜杠转义的特殊字符,主要有下面这些: