JavaScript 字符串
字符串用于存储文本
字符串用引号括起来
使用引号
JavaScript 字符串是零个或多个写在引号内的字符。
你可以使用单引号或双引号
注意
用单引号或双引号创建的字符串效果相同。
两者之间没有区别。
字符串中的引号
你可以在字符串中使用引号,只要它们不与包围字符串的引号匹配
示例
let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
自己动手试一试 »
模板字符串
模板在 ES6 (JavaScript 2016) 中引入。
模板是包含在反引号 (`This is a template string`) 中的字符串。
模板允许字符串内部使用单引号和双引号
注意
Internet Explorer 不支持模板。
字符串长度
要获取字符串的长度,请使用内置的 length
属性
转义字符
由于字符串必须用引号括起来,JavaScript 会误解这个字符串
let text = "We are the so-called "Vikings" from the north.";
字符串将被截断为 "We are the so-called "。
要解决这个问题,你可以使用反斜杠转义字符。
反斜杠转义字符(\
)将特殊字符转换为字符串字符
代码 | 结果 | 描述 |
---|---|---|
\' | ' | 单引号 |
\" | " | 双引号 |
\\ | \ | 反斜杠 |
示例
\" 在字符串中插入一个双引号
let text = "We are the so-called \"Vikings\" from the north.";
自己动手试一试 »
\' 在字符串中插入一个单引号
let text= 'It\'s alright.';
自己动手试一试 »
\\ 在字符串中插入一个反斜杠
let text = "The character \\ is called backslash.";
自己动手试一试 »
JavaScript 中有六个其他有效的转义序列
代码 | 结果 |
---|---|
\b | 退格 |
\f | 换页符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
注意
上面六个转义字符最初是为了控制打字机、电传打字机和传真机而设计的。它们在 HTML 中没有意义。
换行
为了可读性,程序员通常喜欢避免过长的代码行。
换行语句的安全方法是在运算符之后
换行字符串的安全方法是使用字符串连接
模板字符串
模板在 ES6 (JavaScript 2016) 中引入。
模板是包含在反引号 (`This is a template string`) 中的字符串。
模板允许多行字符串
注意
Internet Explorer 不支持模板。
JavaScript 字符串作为对象
通常,JavaScript 字符串是原始值,由字面量创建
let x = "John";
但是字符串也可以用 new
关键字定义为对象
let y = new String("John");
不要创建字符串对象。
new
关键词会使代码复杂化并降低执行速度。
字符串对象可能会产生意外的结果
请注意 (x==y)
和 (x===y)
之间的区别。
比较两个 JavaScript 对象总是返回false。