码迷,mamicode.com
首页 > 其他好文 > 详细

ES6的Proxy

时间:2018-11-10 17:52:34      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:obj   property   content   一点   prope   object   理解   font   ret   

最近在Javascript的设计编程中,用到的那个单例模式,感觉就类似一种代理的思想,单例模式就是:

function getSingle(fn){
    var result;
    return function(){
        return result || (result = fn.apply(this,arguments));
    }
}

任何在getSingle传入方法的函数,都会具有单例模式,就类似于代理的思想,函数的执行得先过getSingle,它里面有个result的缓存,有缓存返回缓存,但是跟ES6的Proxy还是有点区别。 

var proxy = new Proxy(target, handler);

 target是代理的对象,handler是参数,也是一个对象,定制拦截行为。

var proxy = new Proxy({}, {
  get: function(target, property) {
    return 35;
  }
});

let obj = Object.create(proxy);
obj.time // 35

看这段代码:obj直接原型继承了代理对象proxy,那么访问obj的属性时,如果自身没有属性,就会访问原型链。

Proxy代理的用处很多,方法get,set,apply,has,construct等方法,多看些大神的用法,后面慢慢孰能生巧吧,知道这个东西是干嘛的,以后怎么用还得实际项目或者练习中进行巩固啦。

 

【完】

让我们攀上高峰的不是奇招,而是熟能生巧的基本功。能成为顶尖高手并没有什么秘诀,而是对基本技能的东西有更深的理解。每天都要学得更深一点而不是更广一点,因为学得更深可以让我们把潜力中哪些看不到、感受不到但又极具创造力的部分挖掘出来。
——乔希·维茨金 《学习之道》

 

 

 

ES6的Proxy

标签:obj   property   content   一点   prope   object   理解   font   ret   

原文地址:https://www.cnblogs.com/tangjiao/p/9939762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!