JavaScript字符串
JavaScript 字符串用于存储和操作文本。
JavaScript 字符串用于存储和操作文本。
JavaScript 字符串是写在引号内的零个或多个字符序列。
let text = "John Doe";
您可以使用单引号或双引号:
let carName1 = "Volvo XC60"; // 使用双引号
let carName2 = 'Volvo XC60'; // 使用单引号
您可以在字符串中使用引号,只要它们与字符串周围的引号不同:
let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
字符串长度
要查看字符串的长度,请使用内置 length
属性:
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
console.log("字符串长度:", text.length); // 输出 -> 字符串长度: 26
转义字符
当字符串中包含引号时,下面的写法引发语法错误:
let text = "字符串是一个字符的"序列"";
这时候需要使用**反斜杠转义字符 (\
)**解决问题。
反斜杠转义字符 (\
) 将特殊字符转换为字符串字符:
转义 | 转义结果 | 说明 |
---|---|---|
\' |
' |
单引号 |
\" |
" |
双引号 |
\\ |
\ |
反斜杠 |
在字符串中转义双引号 \"
:
let text = "字符串是一个字符的\"序列\"";
在字符串中转义双引号 \'
:
let text = '字符串是一个字符的\'序列\'';
在字符串中插入一个反斜杠 \\
:
let text = "这个字符 \\ 是反斜杠。";
JavaScript 定义的六个转义字符串:
转义字符串 | 说明 |
---|---|
\b |
退格符 |
\f |
换页符 |
\n |
换行符 |
\r |
回车符 |
\t |
水平制表符 |
\v |
垂直制表符 |
上面的 6 个转义字符最初设计用于控制打字机、电传打字机和传真机。它们在 HTML 中没有任何意义。
new String()
通常,JavaScript 字符串是从字面量创建的:
let firstName = "John";
也可以通过 new String()
创建字符串 :
let firstName = new String("John");
虽然字符串的内容是相同的,但是这两种方式创建的字符串对象也有很大的差异。
let x = "John";
let y = new String("John");
console.log("typeof x =", typeof x); // 输出 typeof x = string
console.log("typeof y =", typeof y); // 输出 typeof y = object
console.log("(x == y) =", x == y); // 输出 (x == y) = true
console.log("(x === y) =", x === y); // 输出 (x === y) = false
从上面的例子看出他们的不同:
- 通过字面量创建的字符串的 typeof 为
string
- 通过
new String()
创建的字符串的 typeof 为object
- 通过
==
比较的时候,他们是相等的 - 通过
===
比较的时候,他们是不相等的
使用 new String()
创建字符串会让代码复杂化,降低执行效率,容易引入不易发现的问题。因此除非出于某种目的,一般我们建议不要使用 new String()
创建字符串。