for-in循环与for-of循环的三个区别

168 阅读1分钟

1. 功能不同

for in遍历的是下标和元素

for of遍历的是元素

2. 原型不同

for in可以遍历原型中的属性

for of则不能遍历

3. 数据类型不同

for in可以遍历数组和对象

for of则只能遍历数组

总结:如果想要得到下标和元素,就用for in,只想要元素就用for of

let arr = [10,20,30]
console.log(arr)
//给数组原型添加属性
Array.prototype.age = 66
        
let obj = {
    name:'张三',
    age:20,
    sex:'男'
}
//1.for-in循环
for(let key in arr){
    console.log( key )//下标
    console.log( arr[key] )//元素
}
//2. for-of循环
for(let item of arr ){
    console.log( item )//元素 
}