繁体   English   中英

我们可以在javascript中使用函数作为返回语句吗?

[英]Can we use function as a return statement in javascript?

那么,是否可以在外部函数中使用函数作为返回语句?

我想使用这样的东西:

function returnFunction(){
    // some magic (unknown for me) code here
}

// and here is just usual function
function calculateFunction(a,b){
    var result = a + b;
    returnFunction();
    showResult(result);
}

所以,上面的函数应该只计算“a + b”而不显示它的结果,因为“returnFunction”应该在“calculateFunction”中扮演原生“return”语句的角色。

我知道我总是可以做这样的事情:

function calculateFunction(a,b){
    var result = a + b;
    if( needReturnFunction() ) return;
    showResult(result); // won't run if above true
}

但我的观点是实际模拟“返回”,替换它。

那么,如果可能的话,什么是“魔法密码”呢?

我能想象的唯一方法就是如果你throw

function returnFunction(){
    if (shouldReturn) throw 'return';
}

// and here is just usual function
function calculateFunction(a,b){
    var result = a + b;
    returnFunction();
    showResult(result); // won't run if above throws
}

但是你必须总是使用try , catch

try {
  calculateFunction(a, b);
}
catch (err) {
  // if error thrown is 'return' then ignore
  if (err !== 'return') throw err;
}

绝对不是一件好事。 您可能应该重新考虑您的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM