// Object.defineProperty() 给指定属性修改特性
// configurable: 是否可以通过delete删除属性
// 值为false时,使用defineProperty修改configurable和enumerable属性报错
// Writable: 是否可以修改属性的值
// enumerable: 是否能够通过for-in循环返回
// value: 这个属性的数据值
// 示例如下
var obj = {
"name" : "小王",
"age" : 18
}
Object.defineProperty(obj,"name",{
configurable: false
})
// 修改configurable报错
console.log("修改configurable");
Object.defineProperty(obj,"name",{
configurable: true
})
结果如下:
// 修改enumerable报错
console.log("修改enumerable");
Object.defineProperty(obj,"name",{
enumerable: false
})
console.log("修改value值");
Object.defineProperty(obj,"name",{
value: "大大"
})
console.log(obj);
// 修改数值成功
console.log("修改writable");
Object.defineProperty(obj,"name",{
writable: false
})