1、for...in 语句用于遍历数组或者对象的属性
# 遍历数组时,k 是数组的下标
for (var k in [22,11,44,55]) {
console.log(k)
}
# k打印出来的是 0,1,2,3
var ob = {name:'小王', age:'18'}
# 遍历对象时,k 是json的 所有key 值
for (var k in ob) {
console.log(k)
}
# k打印出来的是 name, age
使用for-in会遍历数组所有的可枚举属性,包括原型上的方法和属性,通常需要配合hasOwnProperty()方法判断某个属性是否该对象的实例属性
for (var key in obj) { if(obj.hasOwnProperty(key)){ console.log(key); # 这里面都是自身的属性 } }
2、for-of主要用于遍历数组
for (var value of arr) { console.log(value); # 数组每一项的值 }
总结,for in遍历的是数组的索引,for of遍历的是数组的值,for in和for of循环里面可以 执行break、continue语句