在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 自定義Symbol.iterator方法產(chǎn)生死循環(huán)的原理?

自定義Symbol.iterator方法產(chǎn)生死循環(huán)的原理?

在對(duì)象上使用自定義的Symbol.iterator方法會(huì)造成死循環(huán)?

產(chǎn)生死循環(huán)的原因是什么?

    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);


回答
編輯回答
大濕胸
const randoms = {
    [Symbol.iterator]: function () {
        return {
            next: function () {
                var r = Math.random();
                if ( r < 0.9 )
                    return { value: r, done: false }
                else
                    return { value: null, done: true }
            }
        }
    }
}

let randomsPool = [];

for ( var random of randoms ) {
    randomsPool.push( random );
}
console.log( randomsPool )
2018年9月21日 07:10