字符串(string)是一组有16位值组成的不可变的有序序列,每个字符通常来自于Unicode字符集。JavaScript通过字符串类型来表示文本。字符串的长度(length)是其所含16位值得个数。JavaScript字符串(和其数组)的索引从零开始。空字符串(empty string)长度为0,JavaScript并没有表示单个字符的“字符型”。
一 字符串直接量
在JavaScript程序中的字符串直接量,是由单引号或双引号括起来的字符序列。单引号中可以包含双引号,双引号中可以包含单引号。
在ECMAScript 3 中,字符串直接量必须写在一行中,而在ECMAScript 5中 ,字符串直接量可以拆分成数行,每行必须以反斜线(\)结束
需要注意的是:当使用单引号来定界字符串时,因为撇号和单引号是同一个字符,所以必须使用反斜线(\)来转义所有的撇号。
二 转义字符
JavaScript转义字符
\o NUL字符(\u0000)
\b 退格符(\u0008)
\t 水平制表符(\u0009)
\n 换行符(\u000A)
\v 垂直制表符(\u000B)
\f 换页符(\u000C)
\r 回车符(\u000D)
\" 双引号(\u0022)
\' 撇号或单引号(\u0027)
\\ 反斜线(\u005C)
\xXX 由两位十六进制数XX指定的Latin-1字符
\uXXXX 由4位十六进制数XXXX指定的Unicode字符
如果“\”字符位于没有出现在转义字符表中的字符前,则忽略“\”
三 字符串的使用
JavaScript的内置功能之一就是字符串连接(+)
在JavaScript中字符串是固定不变的,类似replace()和toUpperCase()的方法都返回新字符串,原字符串本身没有变化
字符串可以当做只读数组
四 模式匹配
JavaScript定义了RegExp()构造函数,用来创建表示文本匹配模式的对象,这些模式被称为“正则表达式”(regular expression),JavaScript采用Perl中的正则表达式语法。String和RegExp对象均定义了利用正则表达式进行模式匹配和查找与替换的函数。
RegExp并不是JavaScript的基本类型,与Date一样。但是他们依然具有直接量写法,可以直接在JavaScript程序中使用。在两条斜线之间的文本构成了一个正则表达式直接量。