首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串中的JavaScript和正斜杠

字符串中的JavaScript和正斜杠
EN

Stack Overflow用户
提问于 2011-05-25 07:04:03
回答 3查看 35.3K关注 0票数 11

我们必须在JavaScript字符串中转义正斜杠的真正原因是什么,以及为什么必须在XHTML中转义字符串/无字符串。很多教程都只是对这个问题一笔带过。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-25 07:08:43

我们必须在JavaScript字符串中转义正斜杠的真正原因是什么

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

就JS而言,字符串中的/\/是相同的。就HTML而言,</会开始一个结束标记,而<\/不会。

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

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

票数 14
EN

Stack Overflow用户

发布于 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

票数 3
EN

Stack Overflow用户

发布于 2011-05-25 07:10:34

使用斜杠是为了防止浏览器,尤其是较旧的浏览器将正斜杠错误地解释为结束JavaScript标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6117886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档