编程语言
首页 > 编程语言> > javascript – 可以在FireBug和Chrome的控制台中启用“严格模式”吗?

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” – 因此它被禁用.您可以尝试将代码包装在函数中以对该特定函数强制执行“use strict”,但我知道的最佳解决方案是跳过控制台并直接在页面本身进行测试.

标签:javascript,console,strict-mode
来源: https://codeday.me/bug/20190928/1828419.html