为什么要使用“// - >”在javascript中

时间:2010-07-30 13:12:19

标签: javascript javascript-framework

我已经看到这个标签在javascript函数之后使用了十多年了,从未问过为什么。在我这次看过的大部分教程中都可以看到它,但我通常会把它排除在外......它似乎没有这种或那样的效果。任何人都可以告诉我为什么使用这个?

如果只是为了表示javascript函数的结束,右支撑是不是足够了?如果是一系列函数,则使用结束脚本标记。

我怀疑我需要一个例子,但对于那些也想知道它是什么的所有其他读者,这里有一些代码:



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

提前致谢!

6 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分: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

答案 2 :(得分:3)

注释掉代码,因此不支持JS的旧版浏览器不会看到它 现在这可能几乎没用了。

请注意,它在开头还需要<!--才能将其作为评论。

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

答案 3 :(得分:1)

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

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

事实上,在html中,被<!---->包围的任何内容都被视为评论

答案 4 :(得分:1)

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

答案 5 :(得分:1)

  1. 对于不了解JavaScript或者手动关闭JavaScript的浏览器,这些启动<!--和结束html_comment_tags -->将有助于注释掉脚本> / ? < & ^ % # ) ! - (中的bad_data
  2. 如果浏览器理解javascripts,则由于放置在html_comment_end标记-->之前的//并且浏览器不理解{的含义,它不会解析最后一个comment_ending标记--> {1}} javascript的评论标记(仅因为jscript被关闭)然后它显然以通常的方式解析//并注释-->内的所有内容,包括<script></script>