核心提示:代理的意思1.// proxy 代理 增强对象和函数(方法) 生命周期(钩子函数) 预处理let obj = {add:function(val){return val + 100;},name:I ...
代理的意思
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.<喎?http://www.weiyer.com/Search.asp?KeyWord=/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());



