Java Script从入门到精通(第5版)
上QQ阅读APP看书,第一时间看更新

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 输出奥尼尔的英文名和别名