📜  JavaScript handler get()方法

📅  最后修改于: 2020-10-25 09:14:15             🧑  作者: Mango

JavaScript handler.get()方法

handler.get方法是获取属性值的陷阱。此方法有3个参数。

句法

get: function(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("
"); } } ) for(var z in get) { document.write(z +":") document.write(get[z]) }

输出:

a:22b:42

例子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);

输出:

In get4523

例子3

const r = {}
const  p = new Proxy(r, {
  get: function(target, property, receiver) {
   document.write('called: ' + property);
    return 100;
  }
});
document.write(p. a);

输出:

called: a100