数据代理 Object.defineProperty()

 


<script> let number = 18; let person = { name:"张三", sex:'女', }; console.log(person); Object.defineProperty(person,'age',{ // value:18, // enumerable:true,//控住属性是否可以枚举,默认值是false // writable:true,//控制属性是否可以修改,默认值是false // configurable:true,//控制属性是否可以被删除,默认值是false // 当有人读取对象person的age 属性时,get函数(getter)就会被调用,且返回值就是age的值 get(){ console.log('有人读取age属性了') return number; }, // 当有人读取对象person的age 属性时,set函数(setter)就会被调用,且返回值就是age的值 set(value){ console.log('有人修改了age属性的值,且值为:',value) number = value } }); console.log(Object.keys(person)) console.log(person) </script>

 

posted @ 2022-08-13 17:11  虚无——缥缈  阅读(6)  评论(0编辑  收藏  举报