核心提示:代理的意思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());