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 及更高版本