let obj = {
id: 1,
pname: “小米”,
num: 100,
}
// 原来添加或修改属性的方式
// obj.num=1000;
// ES5新增方法添加或者修改属性,有就修改,没有就增加
// 第一个参数是写的哪个对象,第二个参数是哪个属性值,第三个参数以对象的方式书写,value意思是属性值为什么
Object.defineProperty(obj, “price”, {
value: 1000,
enumerable:true,
})
Object.defineProperty(obj, “id”, {
writable: false,
})
obj.id = 2;
console.log(obj);
// writable是否允许此属性被更改,属性值 false:不能修改,true允许修改,默认值false;
enumerable能否被遍历,true属性可以被遍历,false不能被遍历。默认false
Object.defineProperty(obj, “adress”, {
value: “中国蓝翔一单元”,
// enumerable: false,
configurable:false,
// 如果configurable为false则不允许被删除属性,也不允许再次修改特性了。
})
delete obj.address;
console.log(obj);