在JavaScript中使用HTML注释(错误的做法)
示例
HTML注释(可选地以空格开头)也将导致代码(在同一行上)被浏览器忽略,尽管这被认为是不好的做法。
具有HTML注释打开顺序(<!--)的单行注释:
注意:JavaScript解释器在-->此处忽略HTML注释()的结尾字符。
<!-- A single-line comment. <!-- --> Identical to using `//自 <!-- --> the closing `-->` is ignored.
可以在旧版代码中观察到此技术,以从不支持JavaScript的浏览器中隐藏JavaScript:
<script type="text/javascript" language="JavaScript"> <!-- /* Arbitrary JavaScript code. Old browsers would treat it as HTML code. */ // --> </script>
HTML结束注释也可以在JavaScript中(与开头注释无关)在行的开头(可选地以空格开头),在这种情况下,它也会导致其余行被忽略:
--> Unreachable JS code
这些事实也被利用来允许页面首先以HTML本身,其次以JavaScript自身进行调用。例如:
<!--
self.postMessage('reached JS "file"');
/*
-->
<!DOCTYPE html>
<script>
var w1 = new Worker('#1');
w1.onmessage = function (e) {
console.log(e.data); // 'reached JS "file"
};
</script>
<!--
*/
-->运行HTML时,<!--和-->注释之间的所有多行文本都将被忽略,因此当以HTML运行时,其中包含的JavaScript将被忽略。
但是,对于JavaScript,虽然以<!--和开头的行-->被忽略,但是它们的作用是不会越过多行,因此,self.postMessage(...以JavaScript运行时,它们之后的行(例如)至少在到达JavaScript注释之前不会被忽略。用/*和标记*/。在上面的示例中,此类JavaScript注释用于忽略其余的HTML文本(直到HTML文本-->也作为JavaScript被忽略)。
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短