proxy

proxy

Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。

举个栗子:

    let obj = {
   name:"zhufeng",age:"20"};
    //让proxy1代理obj   需要通过proxy1去操作代理的obj
    let proxy1 = new Proxy(obj,{
   
        get(target,key,proxy){
   
            //target :目标对象
            //key :属性名
            //proxy :实例
            console.log("get拦截");
            //return 什么就获取什么
            return target[key];//20
        }
    });
    //get 只要是获取 就会触发get 例如:proxy1.name
    console.log(proxy1.age);//目标对象
get

get方法用于拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身(严格地说,是操作行为所针对的对象),其中最后一个参数可选。get(target, propKey, receiver) 拦截对象属性的读取,

var person = {
   
  name: "张三"
};

var proxy = new Proxy(person, {
   
  get: function(target, propKey) {
   
    if (propKey in target) {
   
      return target[propKey];
    } else {
   
      throw new <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值