Open shfshanyue opened 3 years ago
let obj = { a:'元素a', b:'元素b' } const handle = { get:(obj,prop)=>{ console.log(`正在获取:${prop}`); return obj[prop]; }, set:(obj,prop,value)=>{ console.log(`正在修改元素:将${prop}属性设置为${value}`); obj[prop] = value; } } const proxy = new Proxy(obj,handle); console.log(proxy.a) //正在获取:a // 元素a proxy.a='123' // 正在修改元素:将a属性设置为123 console.log(proxy); //Proxy {a: "123", b: "元素b"}
在 JS 中可以使用两种方式监听属性值变化