由于经常翻《javascript高级程设计》,里面的for in循环是这样遍历的,
var arr1 = [1,2,4,5,7,8,9,0]; for(var i in arr1){// for in 输出的是key value中的key值 console.log(i);// 输出的是1,2,3,4,5,6,7 } //如果给arr1加上一个不是数值的属性 // 结果就是for of 对于数组来说它只返回是有数值的属性 arr1['foo'] = 'demo'; arr1['demo1'] = 16; for (var j of arr1) {// for of 输出的是key value中的value值 console.log(j);// 输出的是1,2,4,5,7,8,9,0 } console.log(arr1);
对比了一下for of可以得到key value中的value值。不过对于数组是有限制的,只输出是数值的属性。