我们必须在JavaScript字符串中转义正斜杠的真正原因是什么,以及为什么必须在XHTML中转义字符串/无字符串。很多教程都只是对这个问题一笔带过。
发布于 2011-05-25 07:08:43
我们必须在JavaScript字符串中转义正斜杠的真正原因是什么
在HTML4文档中,定义为包含CDATA的元素(如脚本)中的序列</是一个结束标记,并将结束该元素(如果不是</script>,则会出现错误)。
就JS而言,字符串中的/和\/是相同的。就HTML而言,</会开始一个结束标记,而<\/不会。
,以及为什么我们必须在XHTML中转义字符串/无字符串。
XHTML没有提供指定元素本质上包含CDATA的方法,因此需要显式地处理原本具有特殊含义的字符(<、&等)。用CDATA标记包装元素的内容是实现这一点的最简单方法。
发布于 2011-05-25 07:08:36
您不需要在JavaScript字符串中转义/,只需要转义\即可,因为如果不这样做,字符串yes\no将被无意中转换为yes<newline>o。转义\将阻止这一点。
另外,如果你没有在URL中转义&,那么它后面的任何东西都将被认为是一个新参数。例如,a=Q&A的意思是“参数a的值是"Q”,还有一个参数是“A”,而不是“参数a的值是”Q&A“。正确的转义方式应该是a=Q%26A。
发布于 2011-05-25 07:10:34
使用斜杠是为了防止浏览器,尤其是较旧的浏览器将正斜杠错误地解释为结束JavaScript标记。
https://stackoverflow.com/questions/6117886
复制相似问题