for in 枚举对象属性,包括原型上的, 遍历对象
for of 遍历具有迭代器对象的数据结构,比如 数组,字符串,arguments,map容器,set容器。
迭代器(遍历器对象)底层实现可以用闭包,其实他就是一个遍历数据结构的结构体
function myIterator(arr){
let index = 0
return {
next: function(){
return index<arr.length? {value:arr[index++],done:false}:{value:undefined, done: true}
}
}
}let targetData = {
[Symbol.iterator]: function () {
let index = 0
return {
next() {
return index < this.length? {value: this[index++], done: false}: {value: undefined, done: true}
}
}
}
}像 for of,解构赋值,三点运算符 默认都是去调iterator接口
用iterator实现多个异步请求

京公网安备 11010502036488号