【问题标题】:Commenting in JavaScriptJavaScript 中的注释
【发布时间】:2012-03-01 01:23:58
【问题描述】:

在下面的代码中使用// 的目的是什么。如果旧浏览器不支持 javascript,则符号 <!-- --> 将忽略 js 代码。如果浏览器支持 JS,这些符号 <!-- --> 将被忽略。然后使用// 符号。

<html>
<body>
<script type="text/javascript">
<!--
document.getElementById("demo").innerHTML=Date();
//-->
</script>
</body>
</html>  

【问题讨论】:

    标签: javascript html comments


    【解决方案1】:

    如果旧浏览器不支持 javascript,则符号 &lt;!-- --&gt; 将忽略 js 代码。

    是的,假设 HTML 和“旧浏览器”的定义等于“Netscape 1 时代”。 Don't use them today.

    如果浏览器支持 JS,这些符号 &lt;!-- --&gt; 将被忽略。

    只对了一半。只有注释的开头是特殊情况。来自the specification

    JavaScript 引擎允许字符串“&lt;!--”出现在 SCRIPT 元素的开头,并忽略其他字符,直到行尾。 JavaScript 将“//”解释为开始注释并延伸到当前行的末尾。这是从 JavaScript 解析器隐藏字符串“--&gt;”所必需的。

    【讨论】:

    • 很好的答案。比我的答案更具体!
    • 但如果我们不使用// 隐藏,则不会发生更糟糕的事情。代码在 Firefox 中应该能正常工作吗?
    • 浏览器非常擅长从 &^%$ 中恢复,但它们的恢复方式并不总是一致的。
    • @sandbox:我猜旧浏览器不支持它。尽管现代浏览器可能允许这样做,但整个 &lt;!--///--&gt; 内容并不适合他们。
    • 一如既往地令人印象深刻。您对规范的了解令人难以置信
    【解决方案2】:

    -- 是一个 JavaScript 运算符。它用于不混淆解析器。

    你真的不再需要那些 HTML cmets,顺便说一句。

    【讨论】:

    • 但是为什么 --&gt; 在 cmets 中,而 &lt;!-- 不是呢?那么&lt;!-- 是有效的 javascript,为什么(不是)?
    • @Konerak - Quentin 的回答更完整。
    【解决方案3】:

    这是浏览器和 JavaScript 引擎一直实现的非标准功能。如今,它不能被删除,因为这会破坏向后兼容性。我是detailed in the JavaScript / Web ECMAScript spec

    &lt;!-- 必须被视为 SingleLineComment 的开头 — 相当于//

    var x = true;
    <!-- x = false; // note: no syntax error
    x; // true
    

    --&gt; 位于行首,前面可选空格或 MultiLineComments,必须被视为SingleLineComment—— 相当于//

    var x = true;
    --> x = false; // note: no syntax error
    x; // true
    
    var x = 1;
    /*
    multiline comment!
    x = 2;
    */ --> x = 3;
    x; // 1
    

    【讨论】:

      【解决方案4】:

      【讨论】:

        【解决方案5】:

        它们也被用来使旧版本的 netscape 不会出现错误:http://www.yourhtmlsource.com/javascript/basicjavascript.html

        【讨论】:

          猜你喜欢
          • 2022-06-22
          • 2012-03-17
          • 2018-06-26
          • 2013-11-18
          • 1970-01-01
          • 1970-01-01
          • 2013-06-04
          • 2010-11-01
          相关资源
          最近更新 更多