search

Home  >  Q&A  >  body text

javascript - js原型链中的函数为什么可以用for in来遍历?

上图是history在chrome控制台的显示,原型链中的函数有6个,其中的5个能被for in遍历,但是有一个又不行,为什么啊?而且不行的那个constructor在chrome控制台显示的颜色都比其他的淡

巴扎黑巴扎黑2787 days ago841

reply all(2)I'll reply

  • 高洛峰

    高洛峰2017-04-10 15:03:17

    只有具有 Enumerable (可枚举)属性的属性才能被 for ... in 遍历。constructor 是最常见的不可枚举属性之一。

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 15:03:17

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor

    对于你的问题就参考上面的解释, 还有函数就5个。

    看你截图的length,已经明确告诉你了。

    reply
    0
  • Cancelreply