定义
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
'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('/n').slice(1, -1).join('/n')// "line 1// line 2// line 3"
上面的例子中,输出的字符串就是多行。
转义
反斜杠(/)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
需要用反斜杠转义的特殊字符,主要有下面这些:
/0 null(/u0000) /b 后退键(/u0008) /f 换页符(/u000C) /n 换行符(/u000A) /r 回车键(/u000D) /t 制表符(/u0009) /v 垂直制表符(/u000B) /' 单引号(/u0027) /" 双引号(/u0022) / 反斜杠(/u005C)上面这些字符前面加上反斜杠,都表示特殊含义。
console.log('1/n2')// 1// 2
上面代码中,/n表示换行,输出的时候就分成了两行。
反斜杠还有三种特殊用法。
(1)/HHH
反斜杠后面紧跟三个八进制数(000到377),代表一个字符。HHH对应该字符的Unicode码点,比如/251表示版权符号。显然,这种方法只能输出256种字符。
新闻热点
疑难解答
图片精选