字符串由 Unicode 字符、数字、各种符号组合而成。字符串必须包裹在引号内。
在 JavaScript 程序语言中,把对字符串的运算封装成 String 类。 String 类是字符串初始数据类型的封装器,它允许用户使用 String 类的方法和属性操作初始的字符串类型值。使用内建的全局函数 String() ,可以把其它类型的值转换为字符串。
String 类的所有方法,除 concat 、 fromCharCode 、 slice 和 substr 之外,都是通用方法。这意味着在执行运算前,方法可以自己调用 this.toString ,用户也可以和其它非 String 类一起使用这些方法。
除此之外,还可以使用 RegExp 类对字符串进行正则表达式运算。正则表达式是一种语言,它是用于进行字符串文本匹配的工具,其出现为解决与字符串文本处理有关的许多常见任务提供了有效而简捷的方式。例如,用户可能经常使用搜索工具搜索硬盘上的所有 MP3 文件,就可以使用这样的字符串:
(.\*)\.mp3
这将返回所有的 MP3 文件。用户也可能使用下面的字符串搜索文件:
Chapter?.doc;
一般这将返回诸如 Chapter5.doc 、 Chapter8.doc 、 ChapterN.doc 、 ChapterX.doc 的文件。
使用 string() 也可以构造字符串,该函数可以接受一个参数,并把它作为初始值来初始化字符串。
通过 String() 构造函数构造的字符串和字符串直接量的类型是不同的。前者是引用型对象,后者是值类型的字符串。
var s1 = new String(1);
var s2 = 1;
alert(typeof s1); // object
alert(typeof s2); // string
使用 formCharCode() 方法可以将字符编码转化为字符串。该方法包括多个整数参数,每个参数代表字符的 Unicode 编码,返回值为字符编码的字符串表示。
var a = [35835, 32773, 24744, 22909],
b = [];
for (var i in a) {
b.push(String.fromCharCode(a[i]));
}
alert(b.join(''));
也可以把所有字符按照顺序传递给 fromCharCode() 方法。
var b = String.fromCharCode(35835, 32773, 24744, 22909);
alert(b);
也可以使用 apply() 方法
var a = [35835, 32773, 24744, 22909];
var b = String.fromCharCode.apply(null, a);
alert(b);
ECMAScript 中的字符串是不可变的( immutable ),意思是一旦创建,它们的值就不能变了。要修改 某个变量中的字符串值,必须先销毁原始的字符串,然后将包含新值的另一个字符串保存到该变量
toString() 方法可见于数值、布尔值、对象和字符串值。没错,字符串值也有 toString() 方法, 该方法只是简单地返回自身的一个副本。 null 和 undefined 值没有 toString() 方法。
多数情况下, toString() 不接收任何参数。不过,在对数值调用这个方法时, toString() 可以接收一个底数参数,即以什么底数来输出数值的字符串表示。默认情况下, toString() 返回数值的十 进制字符串表示。而通过传入参数,可以得到数值的二进制、八进制、十六进制,或者其它任何有效基 数的字符串表示 。