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

目录

  • 总结
  • 遍历数组的区别
    • 遍历数组var和let类型的比较
    • 使用for...in遍历数组
    • 使用for...of遍历数组

总结

  1. for…of是在for…in之后推出的新特性,弥补for…in中的一些不足.
  2. JSON 数据的标的达方式是key:value
  3. for…of遍历出的结果是value
  4. 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
}

你可能感兴趣的:(前端总结)