js字符串中 \加一个数字返回为空

js中 '\1' 的结果是一个 '' 但是和空字符串也不相等。
求问 \ 加一个数字在js字符串的原理。

阅读 4.1k
3 个回答

理解成Ascii码就好了

var str = "\1";
var str2 = String.fromCharCode(01);
console.log(str == str2);// true

记得好像是在《javascript权威指南》上看到的这个:
图片描述

没想到你的问题里却说

js中 '\1' 的结果是一个 ''

于是乎,我又去Chrome控制台做了下验证:
图片描述
这么看来:如果反斜杠之后是数字的话,那么并不会忽略反斜杠,而是作为Unicode字符。而且Unicode字符'\u0001'是那种根本就没法显示的字符,所以返回的是"",就比如表格里第一个'\0'也就是'\0000',就是指NUL字符,而NUL字符是没法显示出来的吧。好了,这就是菜鸟我的理解了!

新手上路,请多包涵

\代表转义和后面1结合是个转义后字符,'\1'=='\1' true '\1'=='' false

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题