循环遍历时for...in和for...of的区别

遍历数组的区别
遍历数组var和let类型的比较
这里使用let声明变量,不要使用var,存在变量提升问题

var a = [ 1, 2, 3 ]
for (var i = 0 ; i < 3 ; i ++ ) {
     
	setTimeout(function(){
     
		console.log(i)
	},0)
}
// 3 3 3
var a = [ 1, 2, 3 ]
for (let i = 0 ; i < 3 ; i ++ ) {
     
	setTimeout(function(){
     
		console.log(i)
	},0)
}
// 0 1 2

使用for in
遍历的是当前数组的下标

var a = [ 1, 2, 3 ]
for (let i in a) {
     
	setTimeout(function(){
     
		console.log(i) // 下标 0 1 2
		console.log(a[i]) // 1 2 3
	},0)
}

使用for of
遍历的是当前的value

var a = [ 1, 2, 3]
for (let i of a) {
     
	setTimeout(function () {
     
		console.log(i) // 1 , 2 , 3
	},0)
}

你可能感兴趣的:(学习笔记,javascript,前端)