var和let类型的比较和for...in和for...of在循环遍历时的区别

for…of是在for…in之后推出的新特性,弥补for…in中的一些不足.
JSON 数据的标的达方式是key:value
for…of遍历出的结果是value
for…in遍历出的结果是key

遍历数组var和let类型的比较

这里使用let声明变量,不要使用var,存在变量提升问题

//使用var类型遍历数组
var a=[1,2,3]
for(var i=0;i<3;i++){
	setTimeout(function(){
		console.log(i);
	},0)
}
//输出结果是333
//使用let类型遍历数组
var a=[1,2,3]
for(let i=0;i<3;i++){
	setTimeout(function(){
		console.log(i);
	},0)
}
//输出结果是123

 使用for…in遍历数组

遍历结果是key,数组下标

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

使用for…of遍历数组

遍历结果是value,数组值

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

 

你可能感兴趣的:(JavaScript,var和let类型的比较,var和let类型,javascript,for...in,for...of)