如何迭代Array.prototype函数

How can I iterate over Array.prototype functions

本文关键字:Array prototype 函数 迭代 何迭代      更新时间:2023-09-26

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

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

但当我在控制台中键入Array.prototype时,它会显示自动完成中的所有函数,我如何获得这些函数?它们藏在哪里?

你的意思是:

var arrObj = Object.getOwnPropertyNames(Array.prototype);
for( var funcKey in arrObj ) {
   console.log(arrObj[funcKey]);
}

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

for (let propName of Object.getOwnPropertyNames(Array.prototype)) {
   console.log(Array.prototype[propName]);
}
var proto = Array.prototype;
for (var key in proto) {
    if (proto.hasOwnProperty(key)) {
        console.log(key + ' : ' + proto[key]);
    }
}

演示。

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

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