使用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=;i<3;i++){
    setTimeout(function(){
        consloe.log(i);
    },0)
}
//输出结果是333
//使用let类型遍历数组
var a=[1,2,3]
for(let i=;i<3;i++){
    setTimeout(function(){
        consloe.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
}

你可能感兴趣的:(使用for...in和for...of在循环遍历时的区别)