javascript – 可以启用“严格模式”;在FireBug和Chrome的控制台?

有了这个页面:

<!DOCTYPE html>
<html>
  <head>
    <script>
        "use strict";
        var foo = 2;
        delete foo;
    </script>
  </head>
  <body></body>
</html>

Firebug控制台给出:

applying the 'delete' operator to an unqualified name is deprecated
>>> foo
ReferenceError: foo is not defined
foo

但这是成功的:

>>> var bar = 2;
undefined
>>> delete bar;
true

即使你注释掉删除foo;所以脚本不会中断,删除栏仍然是成功的,尽管事实上它是一个全局对象的属性,因为它是通过变量声明创建的,所以有DontDelete attribute“:

>>> foo
2
>>> delete foo
false
>>> var bar = 2;
undefined
>>> delete bar
true

是否可以启用“严格模式”;在FireBug或Chrome的控制台?

firebug控制台通过将所有代码包装在“eval”调用中,因此脚本中的第一个语句不再是“use strict”,因此它被禁用。您可以尝试将代码包装在一个函数中,以强制执行“使用strict”的特定功能,但我知道的最佳解决方案是跳过控制台并直接在页面中进行测试。
http://stackoverflow.com/questions/11677452/possible-to-enable-strict-mode-in-firebug-and-chromes-console

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 可以启用“严格模式”;在FireBug和Chrome的控制台?