2.1.2 字符串型
字符串(string)是由0个或多个字符组成的序列,可以包含大小写字母、数字、标点符号或其他字符,也可以包含汉字。它是JavaScript用来表示文本的数据类型。程序中的字符串型数据是包含在单引号或双引号中的,由单引号定界的字符串中可以含有双引号,而由双引号定界的字符串中也可以含有单引号。
说明
空字符串不包含任何字符,也不包含任何空格,用一对引号表示,即""或''。
使用单引号括起来的字符串,例如:
'JavaScript网页特效' 'mingrisoft@mingrisoft.com'
使用双引号括起来的字符串,例如:
" " "JavaScript网页特效"
单引号定界的字符串中可以含有双引号,例如:
'Jack"Rose' '"JavaScript"网页特效'
双引号定界的字符串中可以含有单引号,例如:
"I'm legend" "My name is 'Tony'!"
注意
包含字符串的引号必须匹配,如果字符串前面使用的是双引号,那么在字符串后面也必须使用双引号,使用单引号时亦如此。
有时候,字符串中使用的引号会产生匹配混乱的问题。例如:
"字符串是包含在单引号'或双引号"中的"
对于这种情况,必须使用转义字符。JavaScript中的转义字符以“\”开头,通过转义字符可以在字符串中添加不可显示的特殊字符,或者防止出现引号匹配混乱的问题。例如,字符串中的单引号可以使用\'来代替,双引号可以使用\"来代替,上述一行代码可以写成如下形式。
"字符串是包含在单引号\'或双引号\"中的"
JavaScript中常用的转义字符及其描述如表2.1所示。
表2.1 JavaScript中常用的转义字符及其描述
例如,在alert语句中使用转义字符\n的代码如下。
alert("网页设计基础:\nHTML\nCSS\nJavaScript"); //输出换行的字符串
运行结果如图2.3所示。在图2.3中可以看到,转义字符\n会产生换行。
在document.write();语句中使用转义字符时,只有将其放在格式化文本块中才会起作用,所以脚本必须放在<pre>…</pre>标记内。
例如,使用转义字符对字符串进行换行,程序代码如下。
document.write("<pre>"); //输出<pre>标记 document.write("读书破万卷,\n下笔如有神。"); //输出换行的字符串 document.write("</pre>"); //输出</pre>标记
运行结果如图2.4所示。
如果上述代码不使用<pre>和</pre>的标签,则转义字符不起作用,代码如下。
document.write("读书破万卷,\n下笔如有神。"); //输出字符串
图2.3 换行输出字符串(1)
图2.4 换行输出字符串(2)
运行结果如下。
读书破万卷, 下笔如有神。
【例2.3】输出奥尼尔的英文名和别名。(实例位置:资源包\TM\sl\2\03)
在<pre>…</pre>标记内使用转义字符,分别输出前NBA球星奥尼尔的英文名和别名。代码如下。
<script type="text/javascript"> document.write('<pre>'); //输出<pre>标记 document.write('\n英文名:Shaquille O\'Neal'); //输出奥尼尔的英文名 document.write('\n别名:大鲨鱼'); //输出奥尼尔的别名 document.write('</pre>'); //输出</pre>标记 </script>
执行上述代码,结果如图2.5所示。
从上述例子中可以看出,在单引号定义的字符串内出现单引号时,必须进行转义才能正确输出。
图2.5 输出奥尼尔的英文名和别名