极客时间返利平台,你可以在上边通过山月的链接购买课程,并添加我的微信 (shanyue94) 领取返现。
山月训练营之面试直通车 服务上线了,从准备简历、八股文准备、项目经历准备、面试、面经、面经解答、主观问题答复、谈薪再到入职的一条龙服务。

# 在 JS 中如何监听 Object 某个属性值的变化

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 620 (opens new window)

Author

回答者: txd688 (opens new window)

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 中可以使用两种方式监听属性值变化

# Proxy

# Object.defineProperty

Last Updated: 11/27/2021, 6:11:48 PM