ES6 - 用Proxy进行预处理

代理的意思

1.

// proxy 代理 增强对象和函数(方法) 生命周期(钩子函数) 预处理
let obj = {
    add:function(val){
        return val + 100;
    },
    name:'I am Js'
}

let pro = new Proxy({
    // 对象体
    add:function(val){
        return val + 100;
    },
    name:'I am Js'
},{
    // 预处理机制
    // get set apply
    get:function(target,key,property){  //  在取得一个属性的时候进行预先处理
        console.log('come in Get');
        console.log(target);
        return target[key];
    },
    // value新值,receiver原始值
    set:function(target,key,value,receiver){                 //  改变值前预先处理
        console.log(`setting ${key} = ${value}`);
        return target[key] = value + '111';
    },
});

console.log(pro.name);
pro.name = '脚本';
console.log(pro.name);

// apply

这里写图片描述

2.

let target = function(){
    return 'I am Js';
}

//  预处理
let handler = {
    // 方法预处理
    apply(target,ctx,args){
        console.log('do apply');
        return Reflect.apply(...arguments);
    }
}

let pro = new Proxy(target,handler);

console.log(pro());

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值