Javascript教程
JavaScript基础
JavaScript Objects
JavaScript BOM
JavaScript DOM
JavaScript OOP
JavaScript Cookies
JavaScript事件
JavaScript异常
JavaScript常用

handler.ownKeys()

JavaScript handler.ownKeys()方法

JavaScript的 handler.ownKeys()方法用于返回可枚举的对象。此方法是Reflect.ownKeys()的陷阱。

语法

ownKeys: function(target)

参数

target:目标对象。

返回值

返回可枚举的对象。

浏览器支持

Chrome 49
Edge 12
Firefox 18
Opera 36

示例1

<script>
var proxy1 = new Proxy({}, {
  ownKeys: function(target) {
   document.writeln(" Use handler.ownKeys() is ");
    return ['a', 'b', 'c'];
  }
});
document.writeln(Object.getOwnPropertyNames(proxy1));
//expected output: Use handler.ownKeys() is a,b,c
</script>
输出:
Use handler.ownKeys() is a,b,c

示例2

<script>
var x = {
 Age:24,
 Count: 45
}
var y = {
  ownKeys (target) {
    return Reflect.ownKeys(target)
  }
}
var z = new Proxy(x,y);
for (let key of Object.keys(z))
{
  document.writeln(key);
  // expected output: Age Count
 }
</script>
输出:
Age Count

示例3

<script>
var x = { foo: 1 };
Object.defineProperty(x, 'variable', { value: 2,
  writable: true,
enumerable: false,
  configurable: true } );
var proxy = new Proxy(x, {
  ownKeys: function(target, a, b) {
    document.writeln('in ownKeys method');
var names = Object.getOwnPropertyNames(target);
    //Useing Object.getOwnProperty mehod.
    var symbols = Object.getOwnPropertySymbols(target);
    return names.concat(symbols);
  }
});
document.writeln(Object.keys(proxy));
//expected.output: in ownKeys method foo
document.writeln("<br/>")
document.writeln(Object.getOwnPropertyNames(proxy));
//expected output: in ownKeys method foo,variable
</script>
输出:
in ownKeys method foo
in ownKeys method foo,variable
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4