JS进阶4 -- 代理

JS进阶4 -- 代理


JS进阶3 – 深拷贝和浅拷贝中我们学习了深拷贝和浅拷贝的实现方法,本文将继续重点跟大家介绍JS中的第4个重点内容 – 代理,主要包括代理的使用方法和优点分析。废话不多说,一起来看看吧!

4-代理

  • proxy(代理):提供了修改底层实现的方式
  • 使用方法:
    • var p = new Proxy(target, handler);
      • target: 目标对象
      • handler: 普通对象,用于定义处理target的业务逻辑
  • 优点:对象只需关注于核心逻辑,一些非核心的逻辑(如:读取或设置对象的某些属性前记录日志;设置对象的某些属性值前,需要验证;某些属性的访问控制等)可以让Proxy来做。从而达到关注点分离,降低对象复杂度的目的。
	var obj = {a: 1, b: 2};
    var handler = {
    	// 代理set、get、has方法
        set: function(target, key, value) {
            console.log('这里设置了属性');
            target[key] = value;
        },
        get: function(target, key) {
            console.log('这里获取了属性');
            return target[key];
        },
        has: function(target, key) {
            return key in target;
        }
    };
    var p = new Proxy(obj, handler);
    p.a = 20;
    console.log(obj, p.a);  // {a: 20, b: 2}  20
    console.log("c" in p);  // false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值