对象被冻结后:
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));
时间: 2024-10-18 10:34:01