JavaScript 字符串
JavaScript 字符串用于存储和操作文本。
JavaScript 字符串是零个或多个字符写在引号内。
1 | let text = "John Doe"; |
您可以使用单引号或双引号:
1 | let carName1 = "Volvo XC60"; // Double quotes |
您可以在字符串中使用引号,只要它们与引号不匹配即可 将字符串包围起来:
1 | let answer1 = "It's alright"; |
字符串长度
若要查找字符串的长度,请使用内置属性length
:
1 | let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; |
转义角色
因为字符串必须写在引号内,所以 JavaScript 会误解这个字符串:
1 | let text = "We are the so-called "Vikings" from the north."; |
字符串将被切成“我们是所谓的”。
避免此问题的解决方案是使用反斜杠转义字符。
反斜杠 (\
) 转义字符将特殊字符转换为字符串字符:
符号 | 结果 | 概述 |
---|---|---|
' | ’ | 单引号 |
" | " | 双引号 |
\ | \ | 反斜杠 |
该序列\"
在字符串中插入双引号:
1 | let text = "We are the so-called \"Vikings\" from the north."; |
该序列\'
在字符串中插入一个引号:
1 | let text= 'It\'s alright.'; |
该序列\\
在字符串中插入一个反斜杠:
1 | 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 语句不适合一行,则最好中断 它是在运算符之后:
1 | document.getElementById("demo").innerHTML = |
您还可以使用单个反斜杠拆分文本字符串中的代码行:
1 | document.getElementById("demo").innerHTML = "Hello \ |
\
方法不是首选方法。它可能没有得到普遍支持。
有些浏览器会这样做 不允许在字符\
后面留有空格。
分解字符串的更安全方法是使用字符串加法:
1 | document.getElementById("demo").innerHTML = "Hello " + |
不能用反斜杠分隔代码行:
1 | document.getElementById("demo").innerHTML = \ |
JavaScript 字符串作为对象
通常,JavaScript 字符串是从文字创建的原始值:
1 | let x = "John"; |
但是字符串也可以定义为带有关键字的对象:new
1 | let y = new String("John"); |
1 | let x = "John"; |
不要创建 Strings 对象。
该关键字使代码复杂化并减慢执行速度。new
String 对象可能会产生意外结果:
使用运算符时,x 和 y 相等:==
1 | let x = "John"; |
使用运算符时,x 和 y 不相等:===
1 | let x = "John"; |
请注意 (x==y)
和 (x===y)
之间的区别。
(x == y)
对还是错?
1 | let x = new String("John"); |
(x === y)
对还是错?
1 | let x = new String("John"); |
比较两个 JavaScript 对象总是返回 false。
0评论