JS字符串(string)

JavaScript 字符串(String)就是由零个或多个 Unicode 字符组成的字符序列。零个字符表示空字符串。

字符串直接量

字符串必须包含在单引号或双引号中。字符串直接量有以下几个特点。

1) 如果字符串包含在双引号中,则字符串内可以包含单引号;反之,也可以在单引号中包含双引号。例如,定义 HTML 字符串时,习惯使用单引号表示字符串,HTML 中包含的属性值使用双引号表示, 这样不容易出现错误。
console.log('<meta charset="UTF-8">');

2) 在 ECMAScript 3 中,字符串必须在一行内表示,换行表示是不允许的。例如,下面字符串直接量的写法是错误的。
console.log("字符串
直接量"); //抛出异常

如果要换行显示字符串,可以在字符串中添加换行符\n。例如:
console.log("字符串\n直接量");  //在字符串中添加换行符

3) 在 ECMAScript 5 中,字符串允许多行表示。实现方法:在换行结尾处添加反斜杠\。反斜杠和换行符不作为字符串直接量的内容。例如:
console.log("字符串\
直接量");  //显示“字符串直接量”

4) 在字符串中插入特殊字符,需要使用转义字符,如单引号、双引号等。例如,英文中常用单引号表示撇号,此时如果使用单引号定义字符串,就应该添加反斜杠转义字符,单引号就不再被解析为字符串标识符,而是作为撇号使用。
console.log('I can\'t read.');  //显示"I can' t read."

5) 字符串中每个字符都有固定的位置。第 1 个字符的下标位置为 0,第 2 个字符的下标位置为 1…… 以此类推,最后一个字符的下标位置是字符串长度减1。

字符串操作

借助 String 类型的原型方法,可以灵活操作字符串。再配合正则表达式,还可以完成复杂的字符串处理任务。

JavaScript 中,可以使用加号+运算符连接两个字符串,使用字符串的 length 属性获取字符串的字符个数(长度)。

示例

下面代码先合并两个字符串,然后计算它们的长度。
var str1 = "学而不思则罔",
    str2 = "思而不学则殆",
    string = str1 + "," + str2;
document.write(string);  //显示“学而不思则罔,思而不学则殆”
document.write(string.length);  //显示 13

字符序列

JavaScript 字符串是固定不变的字符序列,虽然可以使用各种方法对字符串执行操作,但是返回的都是新的字符串,原字符串保持固定不变。此外,也不能使用 delete 运算符删除字符串中指定位置的字符。

在 ECMAScript 5 中,字符串可以作为只读数组使用。除了使用 charAt() 访问其中的字符外,还可以使用中括号运算符来访问。位置下标从 0 开始,最大位置下标为 length-1。

示例2

下面代码使用 for 语句逐个读取字符串中每个字符并显示出来。
var str = "学而不思则罔,思而不学则殆";
for(var i=0; i<str.length; i++){
  console.log(str[i]);
}
注意:字符串中的字符不能被 for/in 语句循环枚举。