JS 怎样遍历 Array 的所有方法?
发布于 12 年前 作者 jiyinyiyong 6857 次浏览 最后一次编辑是 8 年前

for key in Array.prototype 这样也不能遍历… 哪些方法总要定义在一个地方的吧, 难道设定了 JS 不能访问?

我在 MDN 上看到的代码… 难道是 Firefox 专用的代码? https://developer.mozilla.org/en-US/docs/DOM/NodeList

for(prop in Array.prototype){
  if(Array.prototype.hasOwnProperty(prop) && typeof(Array.prototype[prop]) === 'function')
    NodeList[prop] = Array.prototype[prop];
}
3 回复

回去翻这份资料才找到… http://killdream.github.com/blog/2011/10/understanding-javascript-oop/#sec-1-8

Object.getOwnPropertyNames(mikhail)
// => [ 'name', 'age', 'gender', 'first_name', 'last_name' ]

不知道是不兼容性问题, 网上似乎不太推荐扩展 DOM… 算了先写…

Object.getOwnPropertyNames(Array.prototype).forEach (prop) ->
  if Array.prototype[prop]?
    if (typeof Array.prototype[prop]) is "function"
      NodeList.prototype[prop] = Array.prototype[prop]

for in只能列出可枚举属性和方法

回到顶部