我不知道这是可能的(是吗?)
下面的代码显然记录了值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());
Run Code Online (Sandbox Code Playgroud)
我的问题是:
为什么返回'false'时for循环会短路?我看了MDN但是没有任何关于使用'false'来打破for循环的东西.也尝试过看ECMA的规格,但遗憾的是太棒了.
为什么函数不会向控制台返回'true',因为'for'循环执行后存在'return true'语句?即使错误以某种方式返回'第一',也不应该'真'返回最后还是?