【问题标题】:what does <!-- in Javascript do?<!-- 在Javascript中做什么?
【发布时间】:2011-08-21 09:56:31
【问题描述】:

在谷歌中搜索符号太难了,所以我在这里问。

&lt;!-- 对我来说看起来像是一条评论,但它不像 html 那样工作。还是像// 这样的单行注释?

使用它的目的和好处是什么?谢谢

示例代码:

<script type="text/javascript">
<!--
    alert("example");
//-->
</script>

【问题讨论】:

  • 你有在哪里看到的例子吗?

标签: javascript symbols


【解决方案1】:

这是一种从浏览器中隐藏 JavaScript 的旧方法,它将 script 元素的文本节点视为普通文本(并显示您的代码)。

Douglas Crockford recommends你不用了。

不要在脚本中使用&lt;!-- //--&gt; hack。它旨在防止脚本在第一代浏览器 Netscape 1 和 Mosaic 上显示为文本。多年来一直没有必要。 &lt;!-- //--&gt; 应该表示 HTML 注释。注释应该被忽略,而不是编译和执行。此外,HTML cmets 不包含--,因此递减的脚本会出现 HTML 错误。

【讨论】:

  • 现在这一切都说得通了。它是一个现有的代码,它无处不在。所以就把它们留在那里。
【解决方案2】:

它是 HTML——它是一个 HTML 注释。常用于 CDATA 的 JavaScript 块中:http://en.wikipedia.org/wiki/CDATA

【讨论】:

    【解决方案3】:

    JavaScript 将&lt;!-- 视为单行注释,与// 相同。这样您就可以包装您的 JS 代码,使其看起来像是对不理解 JS 的浏览器的 HTML 注释:

    <script>
        <!--
        alert('test');
        // -->
    </script>
    

    【讨论】:

    • 不,它没有。事实上,你的回答没有意义。 Javascript 执行里面的代码。 HTML 将其视为注释。
    • @EJP:如果您的浏览器根本不理解 Javascript 或 &lt;script&gt; 标签,HTML 只会将其视为注释。十多年来,在任何半流行的浏览器中都没有出现这种情况。这意味着答案中的陈述是正确的,尽管我不确定它是否被视为单行注释。我相信如果该符号位于 &lt;script&gt; 块的开头,则大多数 Javascript 引擎都会忽略该符号。
    • @Matthew 它在 chrome 中被视为单行注释。我在jsfiddle尝试过
    • @Matthew Scharley:这并没有改变 Javascript 根本不将其视为评论的事实。否则整个构造将毫无意义。
    • @EJP,它被视为单行评论。
    【解决方案4】:

    html 中的注释

    • &lt;!-- ... --&gt;

    javascript 中的注释类似于 c:

    • 一行注释=// ...
    • 多行注释 = /* ... */

    【讨论】:

      猜你喜欢
      • 2012-02-12
      • 2011-06-21
      • 2011-07-24
      • 1970-01-01
      • 2015-10-21
      • 2013-04-09
      • 2016-03-23
      相关资源
      最近更新 更多