应用场景,用来新增或设置对象属性
用法:
一
Object.defineProperty('对象名称',
'对象要操作的属性名称(新增或修改都可以),
'第三个参数一个对象'{
value:值,
writable:是否可以改写,//布尔
enumerable:是否可枚举,(可循环,不会报错)
configurable:是否可删除(如果删除不报错,只是属性还在)
});
二
Object.defineProperty('对象名',
"要操作的属性",
{
set function(newVal){
console.log(newVal)//设置触发
},
get(){
//取值触发
}
})
上两种方法不能并存
三
还有一种,可以同时设置多个对象属性
Object.defineProperties('对象名',{
'需要操作的属性名称':{
set、get函数或 value重新赋值
}
})