3.2
字符串是由一组无符号的16位值组成的序列,最常用Unicode字符通过16位内码表示,并代表字符串中单个字符。
那些不能表示为16位的Unicode字符遵循UTF-16编码规则--用两个16位值组成的一个序列(代理项对)表示。
如:
var p = "π";
var e = "e";
p.length ==> 1
e.length ==> 2
3.2.1
单引号和双引号一起使用时,应该互相嵌套。
ECMAScript 3中,字符串必须写在一行。
ECMAScript 5中,字符串可以拆分成数行,每行必须以反斜线()结束,反斜线和行结束符都不算字符串直接量内容。
字符串直接量中另起一行,用" "。
用单引号来界定字符串时,小心类似can't这种情况,此处单引号需要反斜线来进行转义。
3.2.2
""字符没有在定义好的转义字符前出现,则忽略""。
如:
"#" == "#" ==> true
3.2.3
JS字符串时固定不变的,类似replace()和toUpCase()方法都是返回新的字符串,原字符串并未产生改变。
ECMASCript 5中字符串可以当作只读数组。
3.2.4
模式匹配:数据结构中字符串的一种基本运算。给定一个子串,要求在某字符串中找出与该子串相同的所有子串。
JS定义了RegExp()构造函数,用来创建表示文本匹配模式的对象,这些模式称为正则表达式。
RegExp和Date一样。不是JS的基本类型,是一种具有实用API的特殊对象。
两个斜线之间的文本构成一个正则表达式直接量,第二个斜线后可以跟随一个或多个字母,用来修饰匹配模式的含义。