快捷导航

能解释下个人方法一和二为什么会测试失败吗?谢谢各位

'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('测试通过!');
}

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

是没有的(没一个人回答。。。)
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP