一旦它到达循环数JS,就返回变量

时间:2018-04-29 07:29:49

标签: javascript loops for-loop

这个功能的错误是什么?我希望一旦达到10就返回bk的值;但结果是未定义的?

function doMyLoop () {
  for (var bk = 0; bk < 10; bk++) {
    if (bk == 10) {
    return(bk); 
    } 
  }
}
doMyLoop ();

2 个答案:

答案 0 :(得分:0)

因为您的循环永远不会达到10.因为您指定了条件  bk < 10 将条件更改为bk <= 10。一切都会起作用

function doMyLoop () {
  for (var bk = 0; bk <= 10; bk++) {
    if (bk == 10) {
        return(bk); 
    } 
  }
}
console.log(doMyLoop ());

答案 1 :(得分:0)

您可以将循环语句移到循环之外,因为bk的最后一个值是10。在循环内部使用此值进行的检查绝不是true

&#13;
&#13;
function doMyLoop () {
    for (var bk = 0; bk < 10; bk++) {
        console.log('insode loop', bk);
    }
    return bk; // 10
}

console.log(doMyLoop());
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;
&#13;
&#13;