如何使用' strict' Chrome' JavaScript控制台'中的模式

时间:2014-06-23 15:09:10

标签: javascript google-chrome

我正在使用Chrome的JavaScript控制台' (版本:35.0)我无法使用'使用严格的'如预期的那样。

对于以下代码段:

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”#39;在严格模式下,但我没有看到例外。

console.log(obj)
  

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

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

1 个答案:

答案 0 :(得分:59)

使用严格模式的最简单方法是使用IIFE(立即调用函数表达式),如下所示:

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

要在控制台中创建换行符,请先使用 shift + enter ,或先在单独的编辑器中编写代码,然后将其复制粘贴到控制台。设置一个小提琴是好的和花花公子,但只需使用为其编写的标记测试您的代码(即:只需清除浏览器缓存和测试)。
但是,我还是建议您安装node.js。使用JSHint测试代码或验证代码(语法和编码风格)要容易得多。还有很多方法可以检查和运行node.js的代码,因此它是一个非常好的开发工具