<!-- 在Javascript中做啥?

Posted

技术标签:

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

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

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

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

示例代码:

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

【问题讨论】:

你有在哪里看到的例子吗? 【参考方案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:

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

【讨论】:

以上是关于<!-- 在Javascript中做啥?的主要内容,如果未能解决你的问题,请参考以下文章

如果你要求一个整数并且用户输入“b”,你会在 C++ 中做啥?

3D 在这个 HTML 中做啥?

startMonitoringFromRegion - 在 didEnterRegion 中做啥?

:: 在 PostgreSQL 中做啥? [复制]

是啥! (感叹号)在 FreeMarker 中做啥?

|=(管道等号)符号在python中做啥?