首页 > 其他 > 详细

proxy和reflect

时间:2017-10-03 13:07:26      阅读:275      评论:0      收藏:0      [点我收藏+]

1.proxy

用来拦截在一个对象上的指定操,如:

var engineer = { name: ‘Joe Sixpack‘, salary: 50 };

var interceptor = {
  //不仅仅有set方法,还有get...等通用的方法
  set: function (receiver, property, value) {
        console.log(property, ‘is changed to‘, value);
        receiver[property] = value;
   }
};

engineer = new Proxy(engineer, interceptor);
engineer.salary = 60; //salary is changed to 60

 也可以应用在多继承:

var foo = {
    foo: function () {
        console.log("foo")
    }
};
var bar = {
    bar: function () {
        console.log("bar")
    }
};

var sonOfFooBar = new Proxy({}, {
    get: function (target, name) {
        console.log("target=",target);
        return target[name] || foo[name] || bar[name];
    }
})
sonOfFooBar.foo();   //"foo",有foo方法,继承自对象foo
sonOfFooBar.bar();   //"bar",也有bar方法,继承自对象bar

 

proxy和reflect

原文:http://www.cnblogs.com/liuyinlei/p/7623585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!