【发布时间】:2016-01-01 18:05:00
【问题描述】:
我不知道这是可能的(是吗?)
下面的代码显然记录了值 1 到 5,然后跳出“for”循环,因为返回了“false”值。
function x() {
for (var i = 0; i < 10; i++) {
console.log(i);
if (i == 5) return false;
}
return true
}
console.log(x());
我的问题是:
当返回 'false' 时,for 循环为什么会短路?我查看了 MDN,但没有关于使用 'false' 来跳出 for 循环的内容。还尝试查看 ECMA 规范,但遗憾的是太菜鸟。
为什么函数不向控制台返回“true”,因为在“for”循环执行后存在“return true”语句?即使 false 以某种方式返回 'first','true' 不应该最后返回还是返回?
【问题讨论】:
-
return语句将强制将控制权从调用当前函数的当前函数返回...所以在这种情况下,它将退出循环并返回false到来电者 -
如果我可以给所有回答的人提供声誉或积分或其他任何东西,我会的。这一切都为我清除了,谢谢你们!
标签: javascript for-loop break boolean-expression