for in 遍歷對象屬性 獲取的是對象的屬性名
var person ={
name:"admin",
age:"21",
address:"shanghai"
};
for(var i in person){
console.log(i)
}
結果 取得對象的屬性名
for in 獲取數組的索引值
var array =['admin','manager','db'];
for(var i in array){
console.log(i)
}
結果 取得數組的索引值
當給數組的原型添加屬性時,for in 會遍歷到原型鏈上的屬性
var array = ['admin','manager','db'];
Array.prototype.name = 'zhangsan';
for(var i in array){
console.log(array[i])
}
結果 for in 遍歷到了原型鏈上的屬性
這是變量i 遍歷到的索引值
這時候只要判斷是不是本身所有的屬性就行了
var array = ['admin','manager','db'];
Array.prototype.name = 'zhangsan';
for(var i in array){
if(!array.hasOwnProperty(i)){
continue
}
console.log(array[i])
}
結果
參考文檔:
Object.prototype.hasOwnProperty()