javascript - 为什么有些脚本会混淆元素名称? (例如 "d\u0069\x76"为 "div")

标签 javascript cross-browser escaping

我看到有些人使用UTF-8 编码 来创建元素,例如

document.createElement('d\u0069\x76');

代替

document.createElement('div');

这是一个JSBin Demo其中显示 'd\u0069\x76'div 的编码形式。 我想知道为什么,因为后者总是在任何地方都有效。

最佳答案

如果值位于基本多语言平面中,则在 JavaScript 文件中使用转义序列比使用相应的 Unicode 代码点没有任何好处。

HTML 有好处 <script>标签,但是。它允许您指定 HTML 内容,而浏览器不会将脚本中的标签混淆为它应该解释的 HTML,例如 </script>。 (感谢 Anthony Sottile 在上面的评论中指出了这一点)。

关于javascript - 为什么有些脚本会混淆元素名称? (例如 "d\u0069\x76"为 "div"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20414376/

相关文章:

javascript - 如何在其他页面上处于事件状态时更新其他页面标题?

javascript - 声明一个对象,其中的键被分配了其他键的值?

browser - 如何指定网页的语言,以便 Google Chrome 不提供翻译功能

javascript - Internet Explorer 支持 XPATH 吗?

javascript - 如何一次转义 jquery 的 append()、onclick()、alert() 中的单引号或双引号?

java - 在保存到数据库之前如何在 JSP 中转义 html?

javascript - 窗口最小化时提醒用户浏览器内事件——html5 通知除外

javascript - 无法通过 Mandril 和 Parse-Cloud-Code 发送超过 9 封电子邮件

javascript - 我需要访问 IFRAME 中文档的文档对象。有没有办法为 IE7 和 IE8 做到这一点?

java - JAVA中无法转义双引号