目录

JavaScript 字符串

JavaScript 字符串用于存储和操作文本。

JavaScript 字符串是写在引号内的零个或多个字符。

示例

let text = "John Doe";
亲自试一试 »

您可以使用单引号或双引号:

示例

let carName1 = "Volvo XC60";  // Double quotes
let carName2 = 'Volvo XC60';  // Single quotes
亲自试一试 »

您可以在字符串内使用引号,只要它们与字符串周围的引号不匹配即可:

示例

let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
亲自试一试 »

字符串长度

要查找字符串的长度,请使用内置函数length属性:

示例

let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
亲自试一试 »


转义字符

因为字符串必须写在引号内,所以 JavaScript 会误解这个字符串:

let text = "We are the so-called "Vikings" from the north.";

该字符串将被截断为 "We are the so-called "。

避免这个问题的解决方案是使用反斜杠转义字符

反斜杠 (\) 转义字符将特殊字符转换为字符串字符:

Code Result Description
\' ' Single quote
\" " Double quote
\\ \ Backslash

序列\"在字符串中插入双引号:

示例

let text = "We are the so-called \"Vikings\" from the north.";
亲自试一试 »

序列\'在字符串中插入单引号:

示例

let text= 'It\'s alright.';
亲自试一试 »

序列\\在字符串中插入反斜杠:

示例

let text = "The character \\ is called backslash.";
亲自试一试 »

JavaScript 中还有另外六个有效的转义序列:

Code Result
\b Backspace
\f Form Feed
\n New Line
\r Carriage Return
\t Horizontal Tabulator
\v Vertical Tabulator

上面的 6 个转义字符最初是为了控制打字机、电传打字机和传真机而设计的。它们在 HTML 中没有任何意义。


打破长代码行

为了获得最佳的可读性,程序员通常希望避免代码行超过 80 个字符。

如果 JavaScript 语句无法容纳在一行中,则最好的中断位置是在运算符之后:

示例

document.getElementById("demo").innerHTML =
"Hello Dolly!";
亲自试一试 »

您还可以分解代码行在文本字符串内用一个反斜杠:

示例

document.getElementById("demo").innerHTML = "Hello \
Dolly!";
亲自试一试 »

这个\方法不是首选方法。它可能没有得到普遍支持。
有些浏览器不允许后面有空格\特点。

分解字符串的更安全方法是使用字符串加法:

示例

document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
亲自试一试 »

您不能用反斜杠分隔代码行:

示例

document.getElementById("demo").innerHTML = \
"Hello Dolly!";
亲自试一试 »

JavaScript 字符串作为对象

通常,JavaScript 字符串是从文字创建的原始值:

let x = "John";

但字符串也可以使用关键字定义为对象new

let y = new String("John");

示例

let x = "John";
let y = new String("John");
亲自试一试 »

不要创建 Strings 对象。

这个new关键字使代码复杂化并降低执行速度。

字符串对象可能会产生意想不到的结果:

当使用==运算符,x 和 y 是相等

let x = "John";
let y = new String("John");
亲自试一试 »

当使用===运算符,x 和 y 是不等于

let x = "John";
let y = new String("John");
亲自试一试 »

注意之间的区别(x==y)(x===y)

(x == y)对或错?

let x = new String("John");
let y = new String("John");
亲自试一试 »

(x === y)对或错?

let x = new String("John");
let y = new String("John");
亲自试一试 »

比较两个 JavaScript 对象总是回报错误的

完整的字符串参考

有关完整的字符串参考,请访问我们的:

完整的 JavaScript 字符串参考.

该参考包含所有字符串属性和方法的描述和示例。

通过练习测试一下

练习:

使用length属性来提醒长度txt

let txt = "Hello World!";
let x = ;
alert(x);

开始练习