-8

像下面的代码一样,'<!--' 立即代码不会执行。如果在 '<!--' 之后添加换行符,请执行良好。这是javascript的规范吗?

<html>
<body>
<script type="text/javascript">
<!--document.write("TEST1"); // <- don't execute. In case of adding line break, execute well.
document.write("TEST2");
//-->
</script>
</body>
</html>
4

3 回答 3

0

第一部分“似乎”没有被执行的原因是document.write用您传递的字符串替换了文档的全部内容。

因此,您是第二次调用document.write覆盖第一次。

除此之外,<!--在 javascript 中使用 SGML 注释 () 是一种古老的、古老的、派的技术,浏览器不再需要它。正如其他人所说,您可以在 Javascript/* comment */// end-of-line comment.

于 2013-09-03T04:03:44.670 回答
0

<!--片段通常仅适用于现代网络中的 HTML 代码。如果你把它放到一个<script>节或任何 JavaScript 节中,它可能会被评估为语法错误。更适合 JS 的评论系统如下:

// one line comment

/* multi
   line
   comment
*/
于 2013-09-03T04:04:55.367 回答
0

发生这种情况是因为它的<!--行为类似于//,即它只注释掉同一行后面的所有内容。JS 无法识别 HTML 注释块 ( -->) 的结束部分。看起来您甚至知道这一点,因为您已在代码段中将其注释掉。

最初这种注释方法是用来对不支持 JS 和script标签的浏览器隐藏脚本。相反,他们script在页面上显示标签的内容,并且需要 HTML 注释来防止脚本文本显示在页面上。

于 2013-09-03T04:25:38.690 回答