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 | 垂直制表符 |
注意
以上 6 个转义字符最初是为控制打字机、电传打字机和传真机而设计的。它们在 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。