罗列 for in

for in 语句能够用来遍历一个对象中的一切属性名,该罗列历程会列出一切的属性(包含函数和你能够并不关联的原型中的属性),所以有必要了来过滤掉不想要的值。经常运用的过滤器是 hasOwnProperty 要领,以及运用 typeof 来消除函数。
typeof 操作符能够用于肯定属性的范例。但对原型链中的属性也会发生值:

typeof flight.toString;     // 'function'
typeof flight.constructor;  // 'function'

这儿时刻能够运用 hasOwnProperty 要领,假如对象具有独占的属性,将会返回 true。hasOwnProperty 要领不会搜检原型链:

flight.hasOwnProperty('number');        // true
flight.hasOwnProperty('constructor');   // false

接着来看罗列。
在 for in 中属性名涌现的递次是不肯定的,所以假如想要确保属性以特定的递次涌现,最好的方法就是完全避免运用 for in 语句,而是运用 for 。

    原文作者:puhongru
    原文地址: https://segmentfault.com/a/1190000006805429
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞