如何在Chrome“JavaScript控制台”中使用“严格”模式

我在Chrome的“JavaScript控制台”(版本:35.0)上练习JavaScript,我无法按预期使用'use strict'子句。

对于以下代码片段:

var obj={x:1,y:2} //Define new property with 'writable' flag as false. Object.defineProperty(obj, "z", {value:3, writable:false, enumerable:false, configurable:false}) // Try to change the property 'z', "use strict"; obj["z"]=4 

输出:4

根据我的理解,在非严格模式下改变“不可写”属性的值将会默默地失败,并在严格模式下抛出“TypeError”,但是我没有看到exception。

 console.log(obj) 

对象{x:1,y:2,z:3}

即使属性值没有改变,但我期待着一个例外。 如果我做错了,请纠正

使用严格模式最简单的方法是使用一个IIFE(即时调用函数expression式),如下所示:

 (function() { 'use strict'; var foo = 123;//works fine bar = 345;//ReferenceError: bar is not defined }()); 

要在控制台中创build一个新行,请使用shift + enter ,或者先在独立编辑器中编写代码,然后将其复制粘贴到控制台。 设置一个小提琴是一切都很好,但只是testing你的代码与它写的标记(即:只是清除浏览器caching和testing)。
不过,我还是敦促你安装node.js。 使用JSHinttesting代码或validation代码(语法和编码风格明智)要容易得多。 还有很多方法可以检查和使用node.js的代码,所以它是一个非常好的开发工具