let num=19;
var prople={
name:"zhangsan",
sex:"man"
}
/**
* 通过方法添加的属性 不可被枚举(遍历),不可被修改,不可被删除
*/
Object.defineProperty(prople,"age",{
//当调用age获取值时调用此方法
get:function(){
return num;
},
//修改age属性
set(e){
console.log("有人修改了"+e);
num=e
}
// value:18
// ,enumerable:true //控制属性是否可以被枚举
// ,writable:true //属性是否可以被修改
// ,configurable:true //是否可被删除
})
for (let key in prople) {
console.log(key);
}
Object.defineProperty
最新推荐文章于 2025-05-12 08:08:54 发布
本文介绍了如何使用JavaScript定义一个不可枚举且可修改的属性'age',并探讨了通过Object.defineProperty实现的属性保护机制。通过实例展示了如何访问和修改该属性,以及for...in循环不遍历到这个隐藏属性。
876

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



