js遍历for,forEach,for-in,for-of之间的区别

在js中经常要是用for循环遍历数组,对象;那for, forEach, for in, for of,之间有什么区别呢?

let arr = [1,2,3,4,5]
a.a = 'a'
  1. for 原始的遍历方法

编程式

for(var i =0; i<arr.length;i++){
	console.log(arr[i])
}
// 1
// 2
// 3
// 4
// 5
  1. forEach

声明式(不关心如何实现的)
不支持return

arr.forEach(function(item){
	console.log(item)
})
// 1
// 2
// 3
// 4
// 5
  1. for in

key 会变成字符串类型
包含数组的私有属性

for (let key in arr) {
    console.log(arr[key]);
}
// 0
// 1
// 2
// 3
// 4
// a
  1. for of

支持return
不遍历私有属性
不能遍历对象

for (let val of arr){
    console.log(val)
}
// 1
// 2
// 3
// 4
// 5

猜你喜欢

转载自blog.csdn.net/AYKMe/article/details/84952947