JavaScript注释

JavaScript注释,javascript,html,comments,Javascript,Html,Comments,在以下代码中使用/的目的是什么。如果旧浏览器不支持javascript,那么符号将忽略js代码。如果浏览器支持JS,这些符号将被忽略。然后是/符号的使用 <html> <body> <script type="text/javascript"> <!-- document.getElementById("demo").innerHTML=Date(); //--> </script> </body> </html>

在以下代码中使用
/
的目的是什么。如果旧浏览器不支持javascript,那么符号
将忽略js代码。如果浏览器支持JS,这些符号将被忽略。然后是
/
符号的使用

<html>
<body>
<script type="text/javascript">
<!--
document.getElementById("demo").innerHTML=Date();
//-->
</script>
</body>
</html>  

--
是一个JavaScript操作符。它用于避免混淆解析器

顺便说一句,你真的不再需要那些HTML注释了

如果旧浏览器不支持javascript,那么符号
将忽略js代码

是的,假设HTML和“旧浏览器”的定义等于“Netscape 1时代”

如果浏览器支持JS,这些符号将被忽略

只有一半是正确的。只有注释的开头是特殊情况。发件人:

JavaScript引擎允许来自JavaScript解析器的字符串“


请参见

它们也被使用,以便旧版本的netscape不会出错:

这是浏览器和JavaScript引擎一直实现的非标准功能。如今,它无法删除,因为这会破坏向后兼容性。它是:


但是为什么
-->
在评论中,而
@Konerak-Quentin的答案更完整。答案很好。比我的答案更具体!但是如果我们不使用
/
隐藏,就不会发生更糟糕的事情。代码在firefox中正常工作?浏览器非常擅长从&^%$恢复,但它们的恢复方式并不总是一致的。@sandbox:我想旧浏览器不支持它。虽然现代的浏览器可能会允许,但所有的
内容都不是为他们准备的。一如既往的令人印象深刻。你对规格的了解是难以置信的
var x = true;
<!-- x = false; // note: no syntax error
x; // true
var x = true;
--> x = false; // note: no syntax error
x; // true

var x = 1;
/*
multiline comment!
x = 2;
*/ --> x = 3;
x; // 1