在Javascript中使用<! - 和// - >有什么用?

dea*_*ock 4 html javascript

可能重复:
为什么非Javascript浏览器中的这个Javascript代码有额外的评论?

有时我会看到一些开头<!--和结尾的Javascript //-->.

我想知道这种线的用途是什么?据我所知,<!--意味着评论线.但事实似乎并非如此,因为即使使用这样的行,脚本仍然可以工作.如果删除该行,它也可以工作.

这是一个简短的例子:

<script language='JavaScript' type='text/javascript'>
<!--
    function changelang(id) {
    document.location.href='index.php&lch=1&lang=' + id }
//-->
</script>
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 7

它曾经用于不了解script标签的旧浏览器,并且将其内容节点呈现为文本,这当然是不合需要的.

这可能更有意义,当你想到的内容canvas,audio,noscript元素(后者的特殊今天对待,但是想象一下,回到昔日在浏览器不知道的noscript因素是).

在这个时代,它不是必需的.

Douglas Crockford建议不要使用它们.

不要将<!-- //-->hack与脚本一起使用.它旨在防止脚本在第一代浏览器Netscape 1和Mosaic上显示为文本.多年来一直没有必要.<!-- //-->应该发出HTML评论的信号.注释应该被忽略,而不是编译和执行.此外,HTML注释不包括在内--,因此递减的脚本会出现HTML错误.

来源.