gpt4 book ai didi

javascript return 语句以停止执行其余语句

转载 作者:行者123 更新时间:2023-12-01 00:01:30 25 4
gpt4 key购买 nike

我有一个场景,如果前一个函数有 return 语句,我想中断下一个函数调用,但我可以看到它正在执行下一个函数调用,即使我在下面名为“b”的函数中有 return 语句。

function main(){
a()
b();
c();
}

function a(){
console.log("function a call!!");
}
function b(){
console.log("function b call!!");
return function(){return 0;}
}
function c(){
console.log("function c call!!");
}

main()

输出:

'function a call!!'
'function b call!!'
'function c call!!'

预期输出:

'function a call!!'
'function b call!!'

有人可以向我解释一下这里的正确方法是什么吗?

最佳答案

您无法从被调用函数对调用函数进行控制流。您的代码只是从 b() 返回一个 function,但该函数永远不会执行,即使执行,它也不会具有预期的行为。如果您想中断 main,必须在 main 本身中执行:

function main(){
a()
const bReturnValue = b();
if(bReturnValue <some condition>) {
return;
}
c();
}

function a(){
console.log("function a call!!");
}
function b(){
console.log("function b call!!");
return function(){return 0;}
}
function c(){
console.log("function c call!!");
}

main()

关于javascript return 语句以停止执行其余语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60695941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com