11.9----代理-----代理基础

1.代理:
调用new创建一个目标(target)对象一直的虚拟化对象;该代理会拦截底层代码的操作,从而修改内置行为;这些底层操作被拦截后会触发处理程序对象的方法。注:目标和处理程序对象的方法必须一致才会触发;目标和代理之间存在一个相互引用
2.作用:
提供了修改底层实现的方式,可在代理对象上进行一些操作,为我们访问对象制定一些规则,就像代理服务器可以过滤某些服务器的访问等功能。
3.结构:
new Proxy(目标对象,是一个对象,是一个对象它为obj对象制定了一些规章制度)
4.特点:
(1)目标和代理之间是引用关系,因此给目标属性赋值会反应在两个对象上。
(2)hasOwnPerperty()方法都会应用到目标对象上。
(3)不能使用instanceof,因为Proxy.prototype是undefined。
(4)严格相等 === 可以用来区分代理和目标。
5.捕获器:
修改默认对象,当触发代理对象时,才会触发捕获器。
6.捕获器参数:
(1)比如get()捕获器:会接收到目标对象、要查询的属性和代理对象三个参数。基于这写参数可以重建被捕获方法的原始行为,那么重建原始行为使用全局Relect对象上的同名方法来轻松重建。
在这里插入图片描述
(2)捕获器的所有方法都有对应的反射(Reflect)API方法,这些方法与捕获器拦截的方法具有相同的名称和函数名称和函数签名,而且也具有与拦截方法相同的行为。
(3)捕获所有的方法。
在这里插入图片描述
(4)撤销代理:
revocable(),撤销后不可再次调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值