js 监听对象属性的改变

js 监听对象属性的改变

我们假设这里有一个user对象

(1)在ES5中可以通过Object.defineProperty来实现已有属性的监听

Object.defineProperty(user, 'name', {
    set: function(key, value){

    }
})

缺点:如果id不在user对象中,则不能监听id的变化。

(2)在ES6中可以通过Proxy来实现

var user = new Proxy({}, {
    set: function(target, key, value, receiver){

    }
})

这样即使有属性在user中不存在,通过user.id来定义也同样可以这样监听这个属性的变化。

JavaScript 文章被收录于专栏

前端技术分享

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务