让非常旧的浏览器忽略 HTML 页面中的 JavaScript 块的一个老习惯是将<script>
元素的内容包装在 HTML 注释中:
<script>
<!--
alert("Your browser supports JavaScript");
//-->
</script>
基本原理是旧的无 JavaScript 浏览器会将<script>
元素的内容呈现为文本,因此将 JavaScript 放在 HTML 注释中会使浏览器无法呈现任何内容。
另一方面,现代浏览器将看到<script>
元素并将其内容解析为 JavaScript。因此,注释必须是有效的 JavaScript。JavaScript 解析器会忽略结束 HTML 注释 ( -->
),因为它前面有一个 JavaScript 行注释 ( //
)。
我的问题是,打开的HTML 注释 ( <!--
) 如何不会导致 JavaScript 解析器失败?我从很多人那里听说开头的 HTML 注释是有效的 JavaScript。如果开头评论确实被评估为 JavaScript,那么它在执行时会做什么?