JavaScript中的<!-- ... //-->语法有什么作用?现在还需要使用吗?
关于早期JS代码中HTML注释包裹语法的解答
示例代码如下:
<script> <!-- var text1 = "bla"; var text2 = "bla"; //--> </script>
作用说明,是否为注释功能?
它不承担JS代码的注释功能,核心作用是兼容不支持JavaScript的远古浏览器,防止JS代码被直接当成普通文本渲染到页面上。
设计该用法的原因
- Web发展早期,大量浏览器尚未支持JavaScript解析能力,遇到
<script>标签不会做特殊处理,会直接把标签内部的所有内容当成页面正文展示给用户,严重干扰页面正常显示。 - 开发者利用HTML原生注释
<!-- 内容 -->会被所有HTML解析器忽略的特性,把JS代码包裹在HTML注释内部:不支持JS的浏览器会把整段内容当成HTML注释直接跳过,不会把代码展示出来;支持JS的浏览器会自动忽略开头的<!--(JS解析器会把它识别为单行注释)和结尾的//-->(加//是为了把-->也变成JS单行注释,避免解析报错),正常执行内部的JS逻辑。
现在是否还需要使用该语法
完全不需要。目前所有仍在用户群体中流通的现代浏览器都原生支持JavaScript解析,即使用户手动关闭了浏览器的JS执行权限,浏览器也不会把<script>标签内的内容渲染到页面上,该兼容语法已经完全没有使用价值,额外添加只会增加代码冗余。
内容的提问来源于stack exchange,提问作者Marc
相关产品推荐
相关产品推荐

