代理 proxy
-
定义代理: 通过new关键字创建对象的代理
-
target 代理对象
-
property 当前属性
-
value 修改的内容
new Proxy(要代理的对象,{
// 获取之前加一些处理
get(target,property){...//},
// 设置值加一些处理
set(target,property,value){...//},
// 暴露的key (可访问) ownKeys(){return[]}
ownKeys(){return ["name"]},
//has(target,property){}用于是判断是否含有指定的键值对,有,就返回true。否则返回false。
has(target,property){
if (target[property] == undefined) {
return false;
} else {
return true;
}
},}})
1 function fn1() {
2 console.log('我是jiu函数,被代理le');
3 }
4
5 const proxy = new Proxy(fn1, {
6 apply(target) {
7 console.log('我代理了旧函数');
8 target();
9 }
10 })