能解释下为什么吗?谢谢各位

'use strict';
function* next_id() {

//var val=0;
//var next = function(){
//val++;
//return {value: val,next:next};
//}
//return {value: val,next:next};
//以上个人第二种方法,测试失败

var a=0;
var b;//中间为别人的方法正确
for(;;){b = yield ++a}

//以下个人第一种方法,测试失败
//var a = 0;
//for(;;){a = yield ++a}

}

// 测试:
var
    x,
    pass = true,
    g = next_id();
for (x = 1; x < 100; x ++) {
    if (g.next().value !== x) {
        pass = false;
        alert('测试失败!');
        break;
    }
}
if (pass) {
    alert('测试通过!');
}



yuqingzhijie3596863
浏览 1739回答 1
1回答

Developer_Zuck

你给出一段代码,虽然有注解,但你的问题是什么?重点想问的是什么?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript