阻止对象扩展后:
1 不能添加属性。严格模式下,添加属性还会抛异常。
2 可以修改属性的值。
3 可以删除属性。
4 可以修改属性描述符。
var fruit = { name : ‘苹果‘, desc : ‘红富士‘ }; // console.log(‘isExtensible‘,Object.isExtensible(fruit)); // true Object.preventExtensions(fruit); console.log(‘isExtensible‘,Object.isExtensible(fruit)); // false // 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)); Object.defineProperty(fruit,‘desc‘,{ enumerable : true }); console.log(‘修改属性描述符为可枚举‘,Object.keys(fruit));
时间: 2024-10-18 10:33:57