ECMAScript5新特性之isFrozenfreeze

Posted 沙滩海风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ECMAScript5新特性之isFrozenfreeze相关的知识,希望对你有一定的参考价值。

 

对象被冻结后:

1 不能添加属性。

2 不能删除属性。

3 不能修改属性。(赋值)

4 不能修改属性描述符。(会抛异常)

 

 

 

var fruit = {
    name : \'苹果\',
    desc : \'红富士\'
};
//
console.log(\'isFrozen\',Object.isFrozen(fruit)); // false
Object.freeze(fruit);
console.log(\'isFrozen\',Object.isFrozen(fruit)); // true
//
fruit.address = \'烟台\';
console.log(\'添加address属性\',fruit);
//
fruit.desc = \'金帅\';
console.log(\'修改属性\',fruit);
// 
delete(fruit.desc);
console.log(\'删除属性\',fruit);
//
Object.defineProperty(fruit,\'desc\',{ // 抛异常
    enumerable : false
});
console.log(\'修改属性描述符为不可枚举\',Object.keys(fruit));

 

以上是关于ECMAScript5新特性之isFrozenfreeze的主要内容,如果未能解决你的问题,请参考以下文章

ECMAScript5新特性之属性描述符读写对象的属性

ECMAScript5新特性之Object.isExtensibleObject.preventExtensions

《深入理解JavaScript》—— ECMAScript5 新特性

ECMAScript5之Object

ECMAScript5之StrictMode

ECMAScript5 之Array