我的代码如下:
<!DOCTYPE html>
<meta charset="UTF-8">
<title>An HTML5 document</title>
<script>
document.write('\45');
</script>
结果是我得到'%'。为什么?我无法理解代码。
谢谢!
答案 0 :(得分:6)
字符%
的ASCII值为37。
\45
是字符37的八进制转义码(因为4 * 8 + 5 = 37)。
请注意,根据Mozilla Developer Network,不推荐使用字符串文字中八进制转义码的用法:
在字符串和正则表达式文字中不推荐使用八进制转义序列(\后跟一个,两个或三个八进制数字)。
答案 1 :(得分:1)
反斜杠(\
)用作转义字符。 \45
指的是ASCII代码45,即%
。如果您希望代码输出\45
,则必须通过编写
document.write('\\45');
答案 2 :(得分:1)
%是ASCII代码45 - http://www.robelle.com/smugbook/ascii.html 所以\ 45表示“写出ASCII字符代码45”。
如果你想要文字字符串\ 45写出来,你需要用另一个\
来转义\字符<script>
document.write('\\45');
</script>
答案 3 :(得分:0)
\ 45是字符值。 就像你直接看你的记忆一样,这个角色&#34;%&#34;将存储为值45
哪个字符由字符编码决定,如ASCII和UTF-8
A和a之类的东西也有不同的价值观。 A可能是-26的价值,但不确定那里......
答案 4 :(得分:0)
这些是这些值的八进制值: http://www.w3schools.com/TAGS/ref_ascii.asp
增加或减少您的号码,您将获得&符号和单引号。 http://jsfiddle.net/wrd8X/