很简单,我想为一个变量分配一个反斜杠字符的值。问题是:
var myVar = '\'; // breaks because the backslash escapes the closing quote
var myVar = '\\'; // now myVar has two backslashes
我能找到的一切都表明你用反斜杠来逃避反斜杠,这是我一直知道的普遍正确的。但是,当我在 IE 中运行它时,我得到两个反斜杠而不是一个。
这是 IE 调试器尝试将 # 替换为 . 在我尝试使用字符串文字转义反斜杠的任何地方都会出现此问题 - string.replace() 函数会产生相同的错误。
[编辑]
感谢您的评论。在短期内,我可能会像几个人推荐的那样使用八进制或十六进制 ascii。但我真正想要的是理解为什么我不能逃避反斜杠。
这是没有 string.replace 函数的更好的屏幕截图。结果相同。
[/编辑]