【发布时间】:2019-05-02 17:35:20
【问题描述】:
当我运行这个 sn-p 时,我得到“4”作为输出,但我想返回值“4”,5 次。
为什么会这样,我该如何解决?
function addTwo(num){
return num + 2;
}
function checkConsistentOutput(func, val){
let first = func(val);
let second = func(val);
if(first === second){
for(let i = 0; i < 5; i++){
return first;
}
}else{
console.log("This function returned inconsistent results");
}
}
console.log(checkConsistentOutput(addTwo, 2));
【问题讨论】:
-
return语句导致其包含函数立即退出。 -
因为
return返回。如果要返回多个值,则需要返回数组或其他类型的集合。 -
而不是只在 for 循环中返回 console.log,然后在函数结束时返回
-
不是真的;
break只是退出循环。return退出函数。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
FWIW,
return退出函数的事实并非特定于 JavaScript。大多数语言都是这样工作的。return意味着将控制权交还给函数的调用者,因此能够从 single 调用多次返回是没有意义的。
标签: javascript higher-order-functions