for循環(huán)可一遍歷數(shù)組,而for in循環(huán)可以遍歷數(shù)組和對象
使用for in循環(huán)會將Array當成對象遍歷颖对,而Array的存取速度明顯比Object要快。所以使用for循環(huán)遍歷數(shù)組比for in循環(huán)遍歷快磨隘。
for循環(huán)遍歷的是索引數(shù)組缤底,通過索引來調(diào)用,i的返回值是number類型
而for in循環(huán)遍歷的是關聯(lián)數(shù)組番捂,通過key來調(diào)用个唧,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
這兩者的具體用途 得看你用他的環(huán)境是什么.不能一概而論.
索引數(shù)組:僅僅用于存儲數(shù)據(jù). 優(yōu)勢在于迭代方便
關聯(lián)數(shù)組:用于存放對應的數(shù)據(jù)格式, 優(yōu)勢在于 可以很方便 特定key對應的value 缺點:迭代麻煩