<script>
let num = 18;
let person = {
name: '张三',
sex: '男'
}
//通过Object.defineProperty使得num和person.age绑定
Object.defineProperty(person, 'age', {
// value: 18,
// enumerable: true,//控制属性是否可以被遍历,默认值为false
// writable: true,//控制属性是否可以被修改,默认值为false
// configurable: true,//控制属性是否可以被删除,默认值为false
//当有人读取person中的age属性时,函数就会被调用,返回值就是age属性值
get() {
return num;
},
//当有人修改person中的age属性时,函数就会被调用,会收到修改的值
//实际改了值,但由于get方法调用,num的值并没有被修改,所以要把value赋值给num
set(value) {
num = value
}
})
console.log(Object.keys(person));
console.log(person);
</script>
Object.defineProperty方法
- 本文链接: http://lzkpersonal.com.cn/2023/06/23/1-Object-defineProperty方法/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!