for in for of

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实现多个异步请求
图片说明
图片说明

全部评论

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务