javascript - 注释掉 <script> 结束标记。语法好不好?

标签 javascript html syntax

在处理客户提供代码的项目时,我偶尔会看到这种情况:

<script src="xx" type="xx">//</script>

我一直想知道这是否是正确的语法。
至少它不会打扰任何浏览器。但它严重扰乱了我的编辑器的语法高亮显示,因为它在注释掉时无法识别结束标记。

另一种风格是:

<script>
  //some code
//</script>

我只知道这个防止代码泄露到页面:

<script>
 //<!--
 //some code
 //-->
</script>

而且我完全不知道其他人想要阻止什么。

最佳答案

<script src="xx" type="xx">//</script> 是形式上正确的语法,因为 HTML 文档被解析,处理 //就像数据一样,然后丢弃该数据,因为该元素具有 src属性。它当然也符合 JavaScript 语法,构成一个带有空注释的空程序。

//但是,没有任何用处。非空注释是否有用是值得商榷的; HTML5 草案表明它可以,请参阅 Inline documentation for external script在那里。

使用 //</script>形式上正确但无用。

搞砸了的语法荧光笔有一个错误(它没有被编程为正确解析 script 元素)。

构造类似于您提到的“防止代码泄漏到页面中”的构造,带有 <!---->在脚本代码中,比无用的代码更糟糕。它们毫无用处,因为没有人再使用 Netscape 1。它们比无用更糟糕,因为人们在尝试使用它们时会犯打字错误(并且由于根据 XHTML 规则,类似评论的构造评论并且可能会被浏览器删除)。此外,您提到的特定构造甚至无法在 Netscape 1 上发挥作用;它会使字符“//”出现在页面内容中。

关于javascript - 注释掉 &lt;script&gt; 结束标记。语法好不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926091/

相关文章:

javascript - Phonegap Android Geolocation watchPosition超时

css - 获取动态变化高度div的高度

bash - 为什么我在这个 bash 命令的括号 printf 和计算器函数中出现语法错误?

javascript - 在 Saf 上单击汉堡菜单时背景图像放大

javascript - ul 列表中的第一个和最后一个 VISIBLE 元素

javascript - 对话框内可拖动的 jquery 问题

html - 如何编写友好的 xhtml 和 css 打印机?如何使用 print css 节省打印机墨水?

html - 是什么导致了这个随机空白?

regex - 如何跳过 elisp 中的符号?

MySQL 创建触发器语法