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
相關文章
相關標籤/搜索