📅  最后修改于: 2020-10-25 09:14:15             🧑  作者: Mango
handler.get方法是获取属性值的陷阱。此方法有3个参数。
get: function(target, property, receiver)
目标:目标对象。
属性:要获取的属性的名称。
接收者:代理或从代理继承的对象。
此方法可以返回任何值。
Chrome | 49 |
Edge | 12 |
Firefox | 18 |
Opera | 36 |
var data = {
"a": 11,"b": 21 }
var get = new Proxy(
data , {
get: function(y, idx) {
return y[idx] * 2
document.writeln("
");
}
}
)
for(var z in get) {
document.write(z +":")
document.write(get[z])
}
输出:
a:22b:42
var x = { f: 45, g:23 };
var proxy = new Proxy(x, {
get: function(target, name, proxy) {
document.write('In get');
var value = target[name];
if (typeof value === 'string') {
value = value.toUpperCase();
}
return value;
}
});
document.write (proxy.f);
document.write (x.g);
输出:
In get4523
const r = {}
const p = new Proxy(r, {
get: function(target, property, receiver) {
document.write('called: ' + property);
return 100;
}
});
document.write(p. a);
输出:
called: a100