View on GitHub

CrouchingTigerM.github.io

A public personal area.

JavaScript数据类型之字符串类型

字符字面量

String类型包含一些特殊字符字面量(转义字符),用于表示非打印字符或具有其他用途的字符,见下表:

字面量 含义
\n 换行
\t 制表
\b 退格
\r 回车
\f 进纸
\\\\ 斜杠
' 单引号
" 双引号
\xnn 以十六进制代码nn表示的一个字符
\unnnn 以十六进制代码nnnn表示的一个Unicode字符

这些字符字面量被作为一个字符来解析,如以下例子所示:

var str = "This is the letter sigma: \u03a3.";

这个例子中,变量str有28个字符,其中\u03a3表示一个字符。 任何字符串的长度都可以通过访问其length属性取得,这个属性返回的字符数包括16位字符的数目。如果字符串中包含双字节字符,那么length属性可能不会精确地返回字符串的字符数目。

字符串的特点

字符串是不可变的。 字符串一点创建,他们的值就不能改变。要改变一个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量(正是某些旧版本浏览器拼接字符串时速度很慢的原因)。

转换为字符串

调用toString()方法

数值、布尔值、对象和字符串值都有toString()方法,但null和undefined没有。 一般情况下,该方法不需要传参数,但是调用数值的toString()方法时可以传递一个参数:输出数值的基数。例:

var num = 10;
num.toString();  //'10'
num.toString(2);  //'1010'
num.toString(8);  //'12'
num.toString(10);  //'10'
num.toString(16);  //'a'

转型函数String()

如果不确定要转型的值是否为null或者undefined,可以使用该函数。它能够将任何类型的值转换为字符串转换规则如下:

注:以上内容摘录或节选自《JavaScript高级程序设计(第3版)》page:32-34

返回