11

我想将所有数组函数包装在数组对象中,但是在控制台中

>>> Array.prototype
[]
>>> [].prototype
undefined

但是当我输入Array.prototype控制台时,它会在自动完成中显示所有功能,我怎样才能获得这些功能?它们藏在哪里?

4

3 回答 3

22

你的意思是:

var arrObj = Object.getOwnPropertyNames(Array.prototype);
for( var funcKey in arrObj ) {
   console.log(arrObj[funcKey]);
}
于 2012-09-12T09:05:57.917 回答
2

使用 ECMAScript 6 (ECMAScript 2015),您可以简化一点:

for (let propName of Object.getOwnPropertyNames(Array.prototype)) {
   console.log(Array.prototype[propName]);
}
于 2016-07-26T04:10:25.603 回答
-1
var proto = Array.prototype;

for (var key in proto) {
    if (proto.hasOwnProperty(key)) {
        console.log(key + ' : ' + proto[key]);
    }
}

演示。

如果你想在控制台中检查它的属性。

采用:console.dir(Array.prototype);

​</p>

于 2012-09-12T09:03:54.070 回答