proxy()
作用
: 进行预处理,也可以说是在修改某些默认的行为,并且做出一层拦截,所有的访问都必须通过这层拦截,因此出了一种机制,可以对外界的访问进行修改
他有两个参数,参数1 :被处理的对象 参数2: 处理的{}的方法
例子:
var b = new Proxy(obj,{
set(){
},
get(){
}
})
set()方法:
作用
:可以做过滤
他有三个参数: 参数1 原对象 var =obj{‘name’:“zhangsan”,age:18,img:‘1.png’};
参数2 调用的属性名 age; 参数3 你传入的属性值 19
例子:
var obj = {'name':"zhangsan",age:18,img:'1.png'};
var b = new Proxy(obj,{
set(target,key,value){
// console.log(target[key]);
var a = target[key].substring(0,1)
if(value == a){
console.log('ok思密达')
}else{
console.log('get out')
}
})
b.age = 18 //当你调用里面的属性并且赋值的时候,会自动调用set方法
get()方法:
作用
: 当你访问里面的属性是出自动调用此方法;
他有两个参数:参数1 原对象 参数2 访问的属性名
例子
:
bb = new Proxy(test, {
get(target, key) {
// target[key] = target[key]+"哈哈"
for(let i in target){
target[i] = target[i]+"嘿嘿嘿"
}
return target
}
});
bb.oo
console.log(bb)
总结
: proxy()就是代理,在外界进行为访问时做出一层拦截,他有两个参数,参数一是原对象,参数二是方法 ,他里面有两个方法分别是set()和get()方法
版权声明:本文为starry__sty原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。