JavaScript 字符串用于存储和操作文本。
JavaScript 字符串
JavaScript 字符串是引号中的零个或多个字符。
能够使用单引号或双引号
字符串中使用引号,只要不匹配围绕字符串的引号
字符串长度内建属性 length
可返回字符串的长度:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<p id="onde"></p>
<P id="two"></P>
<P id="three"></P>
<script>
//1
var carName1 = "Porsche 951"; // 双引号
var carName2 = 'Porsche 911'; // 单引号
document.getElementById("demo").innerHTML =
carName1 + " " + carName2;
//能够使用单引号或双引号:
var text ="今天是星期几?"
var text1='星期五'
document.getElementById("onde").innerHTML=text+" "+text1;
//字符串中使用引号,只要不匹配围绕字符串的引号即可
var answer1="My name is rose"
var answer2="Nice to meet you "
var answer3=" I am from China"
document.getElementById("two").innerHTML=answer1+" "+ answer3+" "+answer2
//内建属性 length 可返回字符串的长度:
var txt ="abcdefghijklmnopqrstuvwxyz";
var txt1 ="asdfghjkl";
var txt2 ="qwertyuiop";
var txt3 ="zxcvbnm";
document.getElementById("three").innerHTML=txt.length+" "+txt1.length+" "+txt2.length+" "+txt3.length;
</script>
</body>
</html>
特殊字符
反斜杠转义字符把特殊字符转换为字符串字符:
代码 | 结果 | 描述 |
\' | ' | 单引号 |
\" | " | 双引号 |
\\ | \ | 反斜杠 |
序列 \"
在字符串中插入双引号
序列 \'
在字符串中插入单引号
序列 \\
在字符串中插入反斜杠
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<p id="emo1"></p>
<p id="emo2"></p>
<script>
//转义序列 \" 在字符串中插入双引号。
var x = "中国是瓷器的故乡,因此 china 与\"China(中国)\"同名。";
var y="今天星期五\"阳光明媚\"的一天";
document.getElementById("demo").innerHTML = x+" "+y;
//转义序列 \' 在字符串中插入单引号。
var qw='Nice\' to \'meet\' to\' you';
var qw1='It\'good to see you!'
document.getElementById("emo1").innerHTML = qw+"\'\'\'\' "+qw1;
//序列 \\ 在字符串中插入反斜杠:
var aw='Nice\\ to\\meet\\ to\' you';
var aw1='It\'good to see you!'
document.getElementById("emo2").innerHTML = aw+"\\ "+aw1;
</script>
</body>
</html>
转义字符(\
)也可用于在字符串中插入其他特殊字符。
其他六个 JavaScript 中有效的转义序列
代码 | 结果 |
\b | 退格键 |
\f | 换页 |
\n | 新行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
这六个转义字符最初设计用于控制打字机、电传打字机和传真机。它们在 HTML 中没有任何意义。
长代码行换行
为了最佳可读性, 程序员们通常会避免每行代码超过 80 个字符串。
如果某条 JavaScript 语句不适合一整行,那么最佳换行位置是某个运算符之后
可以在字符串中换行,通过一个反斜杠即可
\
方法并不是 ECMAScript (JavaScript) 标准。
某些浏览器也不允许 \
字符之后的空格。
对长字符串换行的最安全做法(但是有点慢)是使用字符串加法
<!DOCTYPE html>
<html>
<body>
<p id="demo2"></p>
<p id="demo3"></p>
<p id="demo4"></p>
<script>
//长代码行换行
document.getElementById("demo2").innerHTML =
"Hello Kitty.";
//反斜杠在文本字符串中进行换行
document.getElementById("demo3").innerHTML = "Hello \Kitty";
//字符串中进行换行的最安全方法是使用字符串相加。
document.getElementById("demo4").innerHTML = "Hello " +
"Kitty";
</script>
</body>
</html>
不能通过反斜杠对代码行进行换行
字符串可以是对象
通常,JavaScript 字符串是原始值,通过字面方式创建 var firstName = "Bill"
字符串也可通过关键词 new
定义为对象:var firstName = new String("Bill")
请不要把字符串创建为对象。它会拖慢执行速度。
new
关键字使代码复杂化。也可能产生一些意想不到的结果:
当使用 ==
相等运算符时,相等字符串是相等的:
当使用 ===
运算符时,相等字符串是不相等的,因为 ===
运算符需要类型和值同时相等。
请注意 (x==y) 与 (x===y) 的区别。
JavaScript 对象无法进行对比,比较两个 JavaScript 将始终返回 false
。