在一些旧代码中,我找到了一个JavaScript文件,其中包含HTML注释的内容.
我理解在旧浏览器中这样做的原因,但不知道它是如何以任何方式有效的JavaScript.
表达<!--是undefined在Chrome和IE浏览器的控制台.
这是一个特殊情况,由解释器(http://javascript.about.com/library/blhtmcmt.htm)处理,仍然在ECMAScript标准中定义并在现代浏览器中工作,或者这些符号的组合是否恰巧产生某些东西那是undefined?
我把它读成"少于不减量"之类的东西,这似乎是没有操作数的荒谬.其中任何一个本身都会返回语法错误.
我知道"严格使用"之类的原因; 是有效的,但什么都不做,但我不知道这个代码实际上做了什么.
我可能会过度思考它,但想了解发生了什么
这是浏览器和JavaScript引擎始终实现的非标准功能.如今,它无法从Web平台中删除,因为这会破坏向后兼容性.它在JavaScript/Web ECMAScript规范中有详细说明:
<!--必须被视为a的开头SingleLineComment- 相当于//.Run Code Online (Sandbox Code Playgroud)var x = true; <!-- x = false; // note: no syntax error x; // true
-->在行的开头,可选地以空格或MultiLineComments 开头 ,必须被视为SingleLineComment- 等效于//.Run Code Online (Sandbox Code Playgroud)var x = true; --> x = false; // note: no syntax error x; // true var x = 1; /* multiline comment! x = 2; */ --> x = 3; x; // 1
| 归档时间: |
|
| 查看次数: |
353 次 |
| 最近记录: |