代理的意思
- 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.<喎 "https://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:sql;"> 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());
来源: https://www.2cto.com/kf/201802/718603.html