object.defineproperty 的属性
let number = 18;
let persom = {
name:'张三',
sex:'男'
}
// 为persom添加项
//definProperty,共有三个参数,1:要添加的对象名称,2:要添加的key,3:一个对象(里面可有多个配置项)
Object.defineProperty(persom,'age',{
// value:18,//配置项1 valur:指定添加的值
// configurable:true, //是否允许age呗删除,
// enumerable:true, //是否可以被循环输出
// writable:true, //是否可以被“=” 改变
// 当有人读取age时执行get方法,并且返回值就是age的值
get(){
console.log('有人读取age的值了')
return number
},
// 当有人修改age时执行set方法,并且返回值就是修改的值
set(value){
console.log('有人修改age的值了:',value)
// 将set收到的value赋值给number
number = value
}
})