这个功能的错误是什么?我希望一旦达到10就返回bk的值;但结果是未定义的?
function doMyLoop () {
for (var bk = 0; bk < 10; bk++) {
if (bk == 10) {
return(bk);
}
}
}
doMyLoop ();
答案 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
。
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;