字符串中的JavaScript和正斜杠

时间:2011-05-24 23:04:03

标签: javascript

我们必须在JavaScript字符串中转义正斜杠的真正原因是什么,以及为什么我们必须在XHTML中转义字符串/无字符串。很多教程只是简单介绍了这个问题。

3 个答案:

答案 0 :(得分:12)

  

我们必须在JavaScript字符串中转义正斜杠

的真正原因是什么

在HTML 4文档中,定义为包含CDATA的元素(例如脚本)中的序列</是结束标记,并将结束元素(如果不是</script>则会出错。

就JS而言/\/在字符串中是相同的。就HTML而言</会启动结束标记,但<\/不会。

  

,还有为什么我们必须在XHTML中转义字符串/无字符串。

XHTML没有提供指定元素本质上包含CDATA的方法,因此您需要显式处理否则具有特殊含义的字符(<&等)。使用CDATA标记包装元素的内容是实现此目的的最简单方法。

答案 1 :(得分:3)

您不需要在JavaScript字符串中转义/,只需\,因为如果不这样做,那么字符串yes\no将无意中转换为{{1} }}。转义yes<newline>o会阻止这种情况。

此外,如果您没有在URL中转义\,那么它之后的任何内容都将被视为新参数。例如,&将表示“参数a=Q&A的值为”a“,而且还有一个参数Q”而不是“参数A值“a”“。转义的正确方法是Q&A

答案 2 :(得分:-1)

需要使用斜杠来防止浏览器(特别是较旧的浏览器)错误地将正斜杠解释为结束JavaScript标记。