javascript字符串就是若干个排在一起的字符,放在单引号或双引号之中。
'abc' "abc"
单引号字符串的内部,可以使用双引号;双引号字符串的内部,可以使用单引号。
'key="value"' "It's a long journey"
如果要在单引号字符串的内部,使用单引号(或者在双引号字符串的内部,使用双引号),就必须在内部的单引号(或者双引号)前面加上反斜杠,用来转义。
'Did she say \'Hello\'?' "Did she say \"Hello\"?"
字符串默认只能写在一行内,分成多行将会报错。
'a b c' // SyntaxError: Unexpected token ILLEGAL
上面代码将一个字符串分成三行,JavaScript就会报错。
如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。
var longString = "Long \ long \ long \ string"; longString // "Long long long string"
上面代码表示,加了反斜杠以后,原来写在一行的字符串,可以分成多行,效果与写在同一行完全一样。
但是,这种写法有两个注意点,首先,它是ECMAScript 5新添加的,老式浏览器(如IE 8)不支持,其次,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。
连接运算符(+)可以连接多个单行字符串,用来模拟多行字符串。
var longString = "Long " + "long " + "long " + "string";
另外,有一种利用多行注释,生成多行字符串的变通方法。
(function () { /* line 1 line 2 line 3 */}).toString().split('\n').slice(1,-1).join('\n') // "line 1 // line 2 // line 3"