javascript for...in

在JS中咱们最多见的循环语句是for循环语句,一个简单的for循环语句以下:数组

for(var i = 0, n = 100; i < n; i++){
    // to do somethings ...        
}

不过在JS中还有一种很是实用的循环语句叫for..in,一般用来遍历数组或对象的属性.prototype

由于发现小伙伴在使用for...in的时候常常会踩坑,这里再次强调下for..in语句的释义:code

  1. 用来遍历数组
  2. 用来遍历对象的属性,注意对象的属性

遍历数组

当使用for...in遍历数组时,遍历的的每个子项是数组的索引值对象

var arr = ["张三","李四","王五"];
var index;
for(index in arr){
    console.log(index);
}
// 0
// 1
// 2

遍历对象的属性

当使用for...in遍历对象时,每个子项是对象的属性名继承

var obj = { "a":"张三","b":"李四","c":"王五"};
var pro; // pro =property = 属性
for(pro in obj){
    // 注意:先判断该属性是不是对象自己实例化时建立的属性?
    // 若是是对象自己实例化时建立的属性,则输出;
    // 若是不是,也就存在经过原型(prototype)继承下来的属性,则跳过.
    var b = obj.hasOwnProperty(pro);
    if(b){
        console.log(pro);
    }
}
// a
// b
// c
相关文章
相关标签/搜索