摘要:更多前端技术和知识点,搜索订阅号菌订阅方法创建代理模式使用可以方便的创建一个和拦截器方法创建代理模式在之前,通常使用这个方法实际的请关注我的订阅号,不定期推送有关的技术文章,只谈技术不谈八卦
⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅Proxy 方法创建代理模式
使用 Proxy API 可以方便的创建一个 get 和 set 拦截器
let obj = { name: "oli", canSave: false, blackbox: true }; let proxyObj = new Proxy(obj, { set(obj, prop, val) { if (obj.canSave && prop === "name") { obj.name = val; } else return; }, get(obj, prop) { if (obj.blackbox) { return null } else return obj[prop] } });Object.defineProperty 方法创建代理模式
在 ES6 之前,通常使用 Object.defineProperty 这个方法:
let obj = { _name: "oli", // 实际的 name canSave: false, blackbox: true }; let proxyObj = Object.defineProperty(obj, "name", { set(val) { if (obj.canSave) { obj.name = val; } else return; }, get() { if (obj.blackbox) { return null } else return obj._name } });
请关注我的订阅号,不定期推送有关 JS 的技术文章,只谈技术不谈八卦
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/106420.html
摘要:下面总结了它俩的异同相同点都需要实现同一个接口或者继承同一个抽象类,并且代理角色和装饰角色都持有被代理角色和构件角色的引用。 写完上一篇之后有小伙伴问我有没有写过代理模式,想看看我的理解。原本我的设计模式系列是按照创建型-行为型-结构型的顺序写下去的,既然小伙伴诚心诚意了,我就大发慈悲的穿插一篇代理模式。开玩笑,题外话。 说起代理模式,就不由得想起经纪人,说起经纪人,就想起了...对,...
摘要:简介代理模式和装饰者模式是两种常见的设计模式。这里通过构造函数的参数将被代理对象传入到代理中,也可以通过其它方式,如提供一个方法。下面是的代码输出首先依然是先创建一个需要被代理的对象,然后把它传入到的构造函数中。 简介 代理模式和装饰者模式是两种常见的设计模式。代理模式是为其它对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以...
摘要:代理设计模式代理模式为其他对象提供一种代理以控制对这个对象的访问。代理模式是常见的设计模式之一是指不直接调用实际的对象,而是通过代理对象,来间接的调用实际的对象。对象类定义了代理对象所代表的目标对象。 代理设计模式 代理模式:为其他对象提供一种代理以控制对这个对象的访问。代理模式是常见的设计模式之一,是指不直接调用实际的对象,而是通过代理对象,来间接的调用实际的对象。为什么要采用这种间...
阅读 1565·2019-08-30 13:18
阅读 1550·2019-08-29 12:19
阅读 2078·2019-08-26 13:57
阅读 4112·2019-08-26 13:22
阅读 1166·2019-08-26 10:35
阅读 2976·2019-08-23 18:09
阅读 2483·2019-08-23 17:19
阅读 664·2019-08-23 17:18