3

我已经看到这个标签在 javascript 函数之后使用了十多年,从来没有问过为什么。在这段时间我看到的大多数教程中都看到了它,但我通常把它省略掉……它似乎并没有以某种方式产生影响。谁能告诉我为什么要使用它?

如果它只是表示 javascript 函数的结束,那么正确的大括号是否足够?如果是一系列函数,则使用结束脚本标签。

我怀疑我需要一个例子,但对于所有其他想知道它的用途的读者来说,这里有一些代码:



function helloWorld() {
   document.write('Hello World');
}
//-->

提前致谢!

4

6 回答 6

10

这是从不支持 JS 的浏览器相当普遍的时代的延续。如果您将 JS 代码直接包含在 HTML 文件中,您将<!-- -->在代码周围包含 HTML 注释标记 ( ),这样那些浏览器就不会将其显示为页面的一部分。原因// -->是支持 JS 的浏览器不会尝试将结束 HTML 注释解释为 JS 代码的一部分。

于 2010-07-30T13:15:53.560 回答
4

过去,一些浏览器不处理 javascript,因此为避免错误,您会将 javascript 代码放在 HTML 注释块“”中。

今天,XHTML 标准说你应该像

<script type="text/javascript">
<![CDATA[
... unescaped script content ...
]]>
</script>

对于 HTML,您不必这样做。参考:

http://www.w3.org/TR/xhtml1/
http://www.w3schools.com/tags/tag_script.asp
于 2010-07-30T13:31:25.767 回答
3

就是把代码注释掉,这样不支持JS的旧版浏览器就看不到了。
这在今天可能几乎没有用。

请注意,它还需要<!--在开头添加 a 才能使其成为注释。

阅读: http: //lachy.id.au/log/2005/05/script-comments

于 2010-07-30T13:13:40.790 回答
1

如果您注意到,您通常还可以<!--在脚本之前看到一个。

使用该语法,因此不支持 Javascript 的浏览器将忽略这些脚本的正文。

事实上,在 html 中,任何被 and 包围的东西都<!---->认为是注释

于 2010-07-30T13:14:46.470 回答
1

如果您正在验证您的 html 代码,它也很有用,因此 js 不会显示为无效的 html 标记。然而,正如每个人都提到的,它已经相当过时了。我个人尝试永远不要使用内联 javascript,总是在可以缓存的外部文件中,这使得这种编码风格毫无用处

于 2010-07-30T13:18:50.197 回答
1
  1. 对于不理解 JavaScript 或手动关闭 JavaScript 的浏览器,这些开始<!-- 和结束 html_comment_tags-->将有助于将脚本 > / ? < & ^ % # ) ! - (中的 bad_data 注释掉
  2. -->如果浏览器理解 javascripts,由于//放在 html_comment_end 标记之前,它不会解析最后一个 comment_ending 标记-->,如果浏览器不理解//javascript 的注释标记的含义(只是因为 jscript 已关闭),那么它显然会-->解析通常的方式并注释掉<script></script>包括在内的所有内容//
于 2011-07-03T23:49:53.073 回答