数据代理 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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2020-08-13 toast提示 封装