AJP*_*AJP 23 javascript console strict-mode
有了这个页面:
<!DOCTYPE html>
<html>
<head>
<script>
"use strict";
var foo = 2;
delete foo;
</script>
</head>
<body></body>
</html>
Run Code Online (Sandbox Code Playgroud)
Firebug控制台给出:
applying the 'delete' operator to an unqualified name is deprecated
>>> foo
ReferenceError: foo is not defined
foo
Run Code Online (Sandbox Code Playgroud)
但是这很成功:
>>> var bar = 2;
undefined
>>> delete bar;
true
Run Code Online (Sandbox Code Playgroud)
即使您注释掉delete foo;
脚本没有中断,删除bar
仍然是成功的,尽管它"是Global对象的属性,因为它是通过变量声明创建的,因此具有DontDelete属性 ":
>>> foo
2
>>> delete foo
false
>>> var bar = 2;
undefined
>>> delete bar
true
Run Code Online (Sandbox Code Playgroud)
是否可以启用"严格模式"; 在FireBug和Chrome的控制台?
zor*_*anc 13
firebug控制台通过将所有代码包装在"eval"调用中来工作,因此脚本中的第一个语句不再是"use strict" - 因此它被禁用.您可以尝试将代码包装在函数中以对该特定函数强制执行"use strict",但我知道的最佳解决方案是跳过控制台并直接在页面本身进行测试.
归档时间: |
|
查看次数: |
5445 次 |
最近记录: |