📜  JavaScript | handler.ownKeys() 方法

📅  最后修改于: 2022-05-13 01:56:23.363000             🧑  作者: Mango

JavaScript | handler.ownKeys() 方法

JavaScript 中的handler.ownKeys()方法是 Reflect.ownKeys() 方法的陷阱,该方法返回一个可枚举的对象。
句法:

const p = new Proxy(target, {
  ownKeys: function(target) {
  }
});

参数:此方法接受如上所述和如下所述的单个参数:

  • target:此参数保存目标对象。

返回值:此方法总是返回一个可枚举的对象。
下面的示例说明了 JavaScript 中的handler.ownKeys() 方法
示例 1:

javascript
const monster1 = {
  prop1: 253,
  prop2: "Geeks",
  prop3: 0101011
}
 
const handler1 = {
  ownKeys (target) {
    return Reflect.ownKeys(target)
  }
}
 
const proxy = new Proxy(monster1, handler1);
 
for (let key of Object.keys(proxy)) {
  document.writeln(key+"
"); }


javascript
var proxy1 = new Proxy({}, { 
  ownKeys: function(target) { 
   document.writeln(" 
handler.ownKeys() Method

");      return ['Geeks1', 'Geeks2', 'Geeks3'];    }  });  document.writeln(Object.getOwnPropertyNames(proxy1));


输出:

prop1
prop2
prop3

示例 2:

javascript

var proxy1 = new Proxy({}, { 
  ownKeys: function(target) { 
   document.writeln(" 
handler.ownKeys() Method

");      return ['Geeks1', 'Geeks2', 'Geeks3'];    }  });  document.writeln(Object.getOwnPropertyNames(proxy1));

输出:

handler.ownKeys() Method

Geeks1,Geeks2,Geeks3

支持的浏览器: handler.ownKeys() 方法支持的浏览器如下:

  • 谷歌浏览器 49 及更高版本
  • 边缘 12 及以上
  • 火狐 18 及以上
  • Opera 36 及以上
  • Safari 10 及更高版本