是<!--JavaScript中的有效注释分隔符

Is <!-- a valid comment delimiter in JavaScript

本文关键字:有效 注释 分隔符 --JavaScript lt      更新时间:2023-09-26

<!--在JavaScript中是有效的注释分隔符吗?

var foo = 'foo'; <!-- Is this a valid single-line comment?

是的,显然是。

包含此语法是为了迎合不支持JavaScript的浏览器,以避免它们在<script>标记中呈现代码。这在Web的早期更为重要,当时很大一部分浏览器不支持JavaScript。

<!---->都定义单行注释。

<!-- this is treated as a single line comment
--> and this is treated as a single line comment

因此,您可以使用以下语法编写脚本标记:

<script>
<!--
console.log('this is my code')
-->
</script>

请注意,关于JavaScript语法的维基百科页面没有提到这一点。

是的,但现在很少看到。通常我们会看到使用C单行和C++多行风格的注释。

带有HTML注释打开顺序的单行注释。请注意JavaScript解释器忽略HTML的结束字符评论。

来源:http://www.javascripter.net/faq/comments.htm

为了提供一点上下文,早在Javascript和<script>标记还是新事物的时候,如果你在页面上放一个充满脚本的<script>元素,一些不知道它是什么的浏览器就会在页面上显示它的内容。

解决方案是定义Javascript语言,以便<!---->被视为单行注释(后者仅当出现在可选包含空白和/或多行JS注释的行的开头时)。这样,HTML呈现器会将所有脚本视为注释,JS解释器只需忽略这些行并处理其余的行

所以你可以这样做(而且可能仍然可以):

<script type="text/javascript"><!--
     document.write("<blink>HELP!!!! I'm using 1990's Javascript!!!</blink>")
--></script>