for循环可一遍历数组,而for in循环可以遍历数组和对象
使用for in循环会将Array当成对象遍历,而Array的存取速度明显比Object要快。所以使用for循环遍历数组比for in循环遍历快。
for循环遍历的是索引数组,通过索引来调用,i的返回值是number类型
而for in循环遍历的是关联数组,通过key来调用,i的返回值是string类型
<script>
arr = [1, 2, 3]
for (var i in arr) {
console.log(i)
}
for (var i = 0; i < arr.length; i ++) {
console.log(i)
}
</script>
打印结果见下图
打印下标.png
这两者的具体用途 得看你用他的环境是什么.不能一概而论.
索引数组:仅仅用于存储数据. 优势在于迭代方便
关联数组:用于存放对应的数据格式, 优势在于 可以很方便 特定key对应的value 缺点:迭代麻烦
网友评论