可以启用"严格模式"; 在FireBug和Chrome的控制台?

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",但我知道的最佳解决方案是跳过控制台并直接在页面本身进行测试.


小智 6

使用shift+enter输入“use strict”

像这样 在此输入图像描述

  • 有用。只需确保添加“use strict”;在 F12 Chrome 控制台中的每次交互时。 (2认同)