设想这么一个需求: user.name = '张三' 对user数据进行操作的时候,同步的修改页面上的用户名为张三. 这就是个数据绑定的概念. 针对这类需求 ES5提供了Object.defineProperty函数 使用方式如下所示: Object.defineProperty(user, 'name', { set:function(key,value){ //此处拦截了设置请求 } }); 但是,如果为user增加一个新的属性,比如user里没有id属性,增加一个 user.id=1,Ob…