<!DOCTYPE html>
<body>
<script type="text/javascript">
let number=19
let person={
name:'张三',
sex:'男',
//age:number
}
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
},
set(value){
console.log('有人修改了age属性,且值是:',value)
number=value
}
})
// for (let key in person){
// console.log(person[key])
// }
console.log(person)
</script>
</body>
</html>


这篇博客探讨了如何在JavaScript中使用Object.defineProperty方法来设置对象属性的访问器,包括get和set方法,以此实现对对象属性读取和修改时的控制。通过示例代码展示了如何创建一个包含姓名、性别和年龄属性的对象,并对年龄属性进行访问控制,当读取或修改age时触发特定的函数操作。
1066

被折叠的 条评论
为什么被折叠?



