今天想做一个功能用于识别地址得"/“或”",然发现识别"/“非常容易,识别” \ "却老是识别不上,
如图:

这时太突然记起来" \ “要转义,然后满心欢喜的用上了” \ \ ",
结果如图:

能识别上字符串的“\”,却无法识别上" \ ",
经过一番研究,导致这个问题的原因是系统先把字符串中的“ \ ”转义了,然后再做判断。
如:
var a = "a\bb\\cc"; // a实际等于“abb\cc”
a.indexOf("\\"); // 3
然后我又做了另外一番测试,从html直接读取字符串,却能识别上
html
<span id="b">\</span>
js
$("#b").html(); // "\"
var b = $("#b").html();
b.indexOf("\\"); // 0
结果从而得出,$("#b").html()得出的结果实际是编译后的结果,等同于上面例子编译后的"abb\cc"。为了证明我的猜想,然后试了一下,果然如此。
$("#b").html() == "\\" // true
页面会先把" \ "编译成 “” 再和编译后的结果做对比
本文探讨了在编程中识别特殊字符“”的挑战,揭示了字符串转义机制如何影响字符识别,并通过实例展示了从HTML读取未转义字符串的方法。
923

被折叠的 条评论
为什么被折叠?



