Possible to enable “strict mode” in FireBug and Chrome's console?

☆樱花仙子☆ 提交于 2019-11-27 02:06:55

问题


With this page:

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

Firebug console gives:

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

But then this is successful:

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

Even if you comment out delete foo; so that the script does not break, deleting bar is still successful despite the fact it "is a property of a Global object as it is created via variable declaration and so has DontDelete attribute":

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

Is it possible to enable "strict mode" in FireBug and or Chrome's console?


回答1:


The firebug console works by wrapping all the code in an "eval" call so the first statement in your script is no longer "use strict" - hence it is disabled. You could try wrapping your code in a function to enforce "use strict" for that particular function but the best solution I know of is to skip the console and test straight in the page itself.




回答2:


use shift+enter to input 'use strict'

like this




回答3:


If you are just testing a single function in the console, you can also just put 'use strict' as the first line in the function declaration.




回答4:


On Chrome go to "chrome://flags", then "Enable Experimental JavaScript". Relaunch.




回答5:


Chrome: put 'use strict'; prefix in your code line (and/or shift+enter for multiline)

'use strict'; var foo = 2; delete foo;


来源:https://stackoverflow.com/questions/11677452/possible-to-enable-strict-mode-in-firebug-and-chromes-console

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!