1.循环遍历数组
for in和for of二者都可以循环遍历数组,区别在于:for in获取的是数组元素的下标,而for of获取的是数组元素.
<script>
var arr = [1, 2, 3, 4, 5];
for (var index in arr) {
console.log(index); //下标
console.log(arr[index]); //通过下标间接获取数组元素
}
for (var value of arr) {
console.log(value);//获取数组元素
}
</script>
2.循环遍历对象
for in可以循环遍历对象,但for of不可以循环遍历对象 .
<script>
var arr2 = { name: '张三', sex: 'boy' };
for (var key in arr2) {
console.log(key);//name sex
console.log(arr2[key]);//张三 boy
}
for(var key of arr2){
console.log(key);//报错:Uncaught TypeError: arr2 is not iterable
}
</script>
总结:
(1) for in和for of都可以循环数组,但for in获取的是数组元素的下标,for of获取的是数组元素.
(2) for in可以循环遍历对象,但for of不可以循环遍历对象.