素材牛VIP会员
自定义Symbol.iterator方法产生死循环的原理?
 龙***6  分类:JavaScript  人气:850  回帖:1  发布于6年前 收藏

在对象上使用自定义的Symbol.iterator方法会造成死循环?

产生死循环的原因是什么?

    var randoms = {
        [Symbol.iterator]: function (){
            return {
                next: function (){
                    return {value: Math.random().toFixed(2)};
                }
            };
        }
    };

    var randoms_pool = [];

    for(var n of randoms){
        randoms_pool.push(n);
        if(randoms_pool.length === 10) break; // 人为中断
    }

    console.log(randoms_pool);


 标签:javascript

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv3 码奴
ba***pc JAVA开发工程师 6年前#1
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取