Pra*_*vol 49 javascript google-chrome
我在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
Run Code Online (Sandbox Code Playgroud)
产量:4
根据我的理解,改变'不可写'属性的值将在非严格模式下无声地失败并在严格模式下抛出'TypeError',但我没有看到异常.
console.log(obj)
Run Code Online (Sandbox Code Playgroud)
对象{x:1,y:2,z:3}
即使财产价值没有改变,但我期待一个例外.如果我做错了,请更正?
Eli*_*gem 66
使用严格模式的最简单方法是使用IIFE(立即调用函数表达式),如下所示:
(function()
{
'use strict';
var foo = 123;//works fine
bar = 345;//ReferenceError: bar is not defined
}());
Run Code Online (Sandbox Code Playgroud)
要在控制台中创建换行符,请先使用shift + enter,或者先在单独的编辑器中编写代码,然后将其复制粘贴到控制台.设置一个小提琴是好的和花花公子,但只是用它编写的标记测试你的代码(即:只需清除浏览器缓存和测试).
但是,我还是建议您安装node.js.使用JSHint测试代码或验证代码(语法和编码风格)要容易得多.还有很多方法可以检查和运行node.js的代码,因此它是一个非常好的开发工具.
| 归档时间: |
|
| 查看次数: |
19544 次 |
| 最近记录: |