为什么非Javascript浏览器中的Javascript代码有额外的注释
Why does this Javascript code inside a non-Javascript browser have extra commenting?
在W3教程中,它显示了htis代码:
<html>
<body>
<script type="text/javascript">
<!--
document.getElementById("demo").innerHTML=Date();
//-->
</script>
</body>
</html>
然后它说:
注释行(//)末尾的两个斜杠是JavaScript注释符号。这会阻止JavaScript执行-->标签。
这对我来说没有意义。我以为整件事都被评论掉了。
在理解JavaScript的浏览器中,会忽略打开的<--
html注释,并执行JS代码。最后一行的JS注释//
防止JS引擎将关闭的-->
视为错误。在不理解JavaScript的浏览器中,<--
和-->
之间的所有内容都被视为html注释并被忽略。
这整件事对于不了解JS的旧浏览器来说是一种预防措施。这对于任何现代浏览器来说都不是必要的。
如果要注释掉一个JS块,请将该块封装在/*
和*/
中。
首先,W3Schools与W3没有任何关系。在人们开始抱怨之前,他们的教程非常糟糕,他们令人困惑的名字意味着他们在某种程度上与W3有联系,但实际上他们并没有。
其次,不再需要这种方法。没有使用过的浏览器不干净地支持JS(links
、lynx
等对JS代码没有任何问题)。
话虽如此,代码应该这样做:
<!--
I am a HTML comment
-->
<!--
If I am placed in a JS block, the web browser should ignore me
alert('and me');
-->
<!--
If you comment out the HTML comment ending tag, apparently
the browser will treat the comment as JS code *only*
if the browser supports JS.
//-->
如果你这样做,你会得到语法错误:
<script type="text/javascript">
<!--
document.getElementById("demo").innerHTML=Date();
-->
</script>
JavaScript不知道HTML的注释关闭-->
,所以必须在脚本外对其进行注释。不需要使用HTML注释来分隔JavaScript,除非您使用一个简单的文本编辑器来为代码着色(NoteTab等)。
这一切都被注释掉了。
在没有Javascript的bowser中,<!--
和-->
之间的所有内容都将被注释掉。
试着这样想:如果你尝试了这个代码
<script type="text/javascript">
-->
</script>
那么Javascript会抛出一个错误。
相关文章:
- 如何用正则表达式替换特定的JavaScript注释
- Visual Studio 2012:更改javascript注释样式
- Javascript注释实践
- 如何在生成的HTML页面中隐藏JavaScript注释
- JavaScript注释文档(JSDoc):@memberOf也应该指定“原型”
- 阅读 Javascript 注释
- 使用 Yuidoc 将 JavaScript 注释转换为 .chm 文件
- 关于javascript注释规范
- 在两个JavaScript注释之间替换代码
- 简单的Javascript注释表单
- javascript注释中全局关键字的用途是什么
- Visual Studio 2010 Javascript注释已停止工作
- 获取dust.js以剥离JavaScript注释
- 当用户在这个工作javascript注释框中提交注释时,您将如何添加用户图像和名称
- Javascript注释不起作用.无法注释掉注释
- Regex将JavaScript注释替换为Grails注释
- Vaadin-虽然我使用了JavaScript注释,但我的JavaScript库没有加载
- JavaScript注释编辑功能
- 我没有'我不理解这段类似Javascript注释的代码,有人能澄清一下吗
- Javascript注释和文档