handler.get()
JavaScript handler.get()方法
handler.get方法是获取属性值的陷阱。此方法有3个参数。
语法
get: function(target, property, receiver)
参数
target:目标对象。
property:属性名称
receiver:代理或从代理继承的对象。
返回值
此方法可以返回任何值。
浏览器支持
Chrome |
49 |
Edge |
12 |
Firefox |
18 |
Opera |
36 |
示例1
var data = {
"a": 11,"b": 21 }
var get = new Proxy(
data , {
get: function(y, idx) {
return y[idx] * 2
document.writeln("<br/>");
}
}
)
for(var z in get) {
document.write(z +":")
document.write(get[z])
}
输出:
示例2
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);
输出:
示例3
const r = {}
const p = new Proxy(r, {
get: function(target, property, receiver) {
document.write('called: ' + property);
return 100;
}
});
document.write(p. a);
输出: