let pro = new Proxy({ //方法体 add:function(val){ return val+100; }, name:'ananiah' },{ //预处理机制 get set apply //get 得到属性前预处理 get:function(target,key,property){ console.log(target); //{add: ƒ, name: "ananiah"} console.log(key); //name return target[key] }, set:function(target,key,value,receiver){ console.log(`setting ${key} = ${value}`); //setting name = 代理 //返回之后打印出来的才会改变 return target[key] = value + '123'; } }); console.log(pro.name); pro.name='代理'; console.log(pro.name); //name 代理123 //apply let target = function(){ return 'ananiah'; } let handler = { apply(target,ctx,args){ console.log('apply start'); return Reflect.apply(...arguments); //apply start } }; let proxx = new Proxy(target,handler); //调用 console.log(proxx()) //ananiah
原文地址:https://www.cnblogs.com/Ananiah/p/11073690.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。