是否可以在IE8中模拟Object.getOwnPropertyNames

Far*_*mor 5 javascript oop internet-explorer-8

是否可以Object.getOwnPropertyNames在IE8中进行模拟?

我试图让这个小提琴在IE8中工作.

我相信唯一剩下的就是模拟一个函数getOwnPropertyNames.

当然,非常感谢在IE8中使用对象文字扩展JavaScript对象的基本问题的其他解决方案.

更新:使用外部es5填充脚本文件的工作小提琴.

结论:不,但你可以使用对象.sh

And*_*y E 9

没有.

Object.getOwnPropertyNames()返回对象的可枚举不可枚举的自有属性.在ECMAScript第3版实现中迭代不可枚举的属性是不可能的,因此您只能获取可枚举的属性.

编写一个返回枚举自己属性的过程非常简单:

var arr = [];
for (var k in obj) {
    if (obj.hasOwnProperty(k)) 
        arr.push(k); 
}
Run Code Online (Sandbox Code Playgroud)

这(或多或少)相当于Object.keys().但是,如果这还不够,那么你就不走运了.