封闭对象后:
1 不能增加、删除属性。
2 可以修改属性。
3 不能修改属性描述符。会抛异常。
var fruit = { name : ‘苹果‘, desc : ‘红富士‘ }; // console.log(‘isSealed‘,Object.isSealed(fruit)); // false Object.seal(fruit); console.log(‘isSealed‘,Object.isSealed(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 });
时间: 2024-10-12 17:15:59