JS转义符
在我们写JAVAScript脚本时,可能会要HTML⽂档显⽰或使⽤某些特殊字符(例如:引号或斜线)。(例如:<img src="image5.jpg">)但是前⾯提到,声明⼀个字符串时,前后必须以引号括起来。如此⼀来,字符串当中引号可能会和标识字符串的引号搞混了,此时就要使⽤转义字符(Escape Character)。
JAVAScript使⽤以下⼋种转义字符。这些字符都是以⼀个反斜线(\)开始。当JAVAScript的解释器(Interpreter)看到反斜线时,就会特别注意,表现出程序员所要表达的意思。下表列出了JavaScript的转义序列以及它们所代表的字符。其中有两个转义序列是通⽤的,通过把Latin-1或Unicode字符编码表⽰为⼗六进制数,它们可以表⽰任意字符。例如,转义序列\xA9表⽰的是版权符号,它采⽤⼗六进制数A9表⽰Latin-1编码。同样的,\u表⽰的是由四位⼗六进制数指定的任意Unicode字符,如\u03c0表⽰的是字符π(圆周率)。注意,虽然ECMAScript v1标准要求使⽤Unicode字符转义,但是JavaScript 1.3之前的版本通常不⽀持转义符。有些JavaScript版本还允许⽤反斜线符号后加三位⼋进制数字来表⽰Latin-1字符,但是ECMAScript v3标准不⽀持这种转义序列,所以不应该再使⽤它们。
序转义字符使⽤说明
0NUL字符(\u0000)
1\b后退⼀格(Backspace)退格符(\u0008)
2\f换页(Form Feed)(\u000C)
3\n回车(Carriage Return)(\u000D)
4\r回车(Carriage Return)(\u000D)
5\t制表(Tab)⽔平制表符(\u0009)
6\'单引号(\u0027)
7\"双引号(\u0022)
8\\反斜线(Backslash)(\u005C)
9\v垂直制表符(\u000B)
10\xNN由两位⼗六进制数值NN指定的Latin-1字符
11\uNNNN由四位⼗六进制数NNNN指定的Unicode字符
12\NNN 由⼀位到三位⼋进制数(1到337)指定的Latin-1字符。ECMAScript v3不⽀持,不要使⽤这种转义序列
\& 和号
\n 回车换⾏
\t 横向跳到下⼀制表位置
\v 竖向跳格
\b 退格
\r 回车
\f ⾛纸换页
\\ 反斜线符"\"
\' 单引号符
\ddd 1~3位⼋进制数所代表的字符
\xhh 1~2位⼗六进制数所代表的字符
空格的ASC是32,转换为16进制是x20,使⽤转义字符为\x20
举例:
<Script Language="JAVAScript">
<!--
//⽤(\")表⽰(")
document.write("我们的\"爱⼈\"");
document.write("<hr>");
//⽤(\\)表⽰(\)
document.write("⽂件在C:\\Windows\\下");
document.write("<hr>");
//⽤(\n)表⽰换⾏
alert("是MM就\n亲⼀下");
document.write("<hr>");
//⽤(\n)表⽰换⾏
document.write("<pre>是MM就\n亲⼀下</pre>");
document.write("<hr>");
-->
</Script>
说明:
1、"\n"这个转义字符则常与alert()搭配使⽤,效果相当于在⽂本编辑器当中按下“Enter”键(VBScript⾥是常量"vbCrLf")。
2、如果⼀定要在document.write()当中使⽤"\n",必须搭配HTML的<PRE>标记才有作⽤。(⼀般⽤<br>)。
请看下⾯的JavaScript代码:
var txt="We are the so-called
"Vikings"
from the north."
document.write(txt)
在JavaScript中,字符串使⽤单引号或者双引号来起始或者结束。这意味着上⾯的字符串将被截为:We are the so-called。
要解决这个问题,就必须把在"Viking"中的引号前⾯加上反斜杠(\)。这样就可以把每个双引号转换为字⾯上的字符串。
var txt="We are the so-called
\"Vikings\"
from the north."
document.write(txt)
现在JavaScript就可以输出正确的⽂本字符串了: We are the so-called "Vikings" from the north。这是另⼀个例⼦:
javascript说明document.write("You
\&
me are singing!")
上⾯的例⼦会产⽣以下输出:
You & me are singing!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论