return语句在JavaScript中使用而不中断函数
return statement in JavaScript used without breaking out of the function
是否有任何可能的方法可以在执行返回语句后保留JavaScript函数中的控件?
下面的转述示例将解释我的要求:
调用的函数:
function tree(node) {
if (node == 'root') {
return true;
// this return needs to be executed on IF condition
// being true and then continue executing the remaining
// statements of function as a requirement.
}
do_something;
// this does some
// visualization changes and has to be
// after the IF statement.
}
上面的例子不是确切的实现,但这是我需要实现的逻辑。
Calling语句如下所示:
var fact = tree(n);
if (fact == 'true') {
count++;
}
我正在寻找任何解决方案,即使在由于各种原因返回后,也能保持对函数的控制,这在这里解释得太多了。也欢迎任何替代逻辑:)
如果希望最后一部分异步执行,可以尝试setTimeout方法。
function tree(n){
//do stuff before return
//execute something parallel to returning
async(function(){do_something;}));
return...
}
function async (fn) {
setTimeout(fn, 20);
}
否,则不会执行if语句之外的其余语句。是否总是在函数末尾返回,如
function tree(node) {
var stat; //create a local variable within tree method
if(node=='root') {
stat = true; //assign true to stat inside if
}
do_something; //this function gets executed
return stat; //now return it while exiting the method
}
定义一个结果变量,并在函数的最后返回:
function tree(node){
var result; // kind of a cached result
if(node=='root') {
result = true; // set the result
}
do_something;
return result; // return the result
}
当使用return
-语句时,在任何情况下都将离开函数上下文。因此,保持在函数内部的唯一方法是将return语句延迟到函数末尾(或者至少在其他代码运行之后)。
相关文章:
- 递归函数中断
- 从jquery foreach内部中断函数
- JavaScript 函数在 IE9 中随机中断
- Angularjs 与 coffeescript 函数表达式中断
- Javascript:变量中断函数
- return语句在JavaScript中使用而不中断函数
- 调用加载的顺序函数会意外中断代码
- 从匿名函数中中断for循环
- 清除文本区域会中断其他JS函数
- 如何在返回值(Js)时不中断函数/循环
- 进度条函数在一次调用后中断
- 一个函数在另一个函数上中断.可能吗
- 中断 JQuery 设置超时函数
- 在 ASP.NET 页面中内联编码 SVG 会导致 SVG JavaScript 创建 SVGPoint();函数中断
- 从调用/子函数退出/中断主函数
- 在事件上中断函数
- 如果条件不通过,则中断函数
- Javascript:将变量传递给函数会中断函数
- atom美化插件中断函数参数
- 使用getTime的停止/中断函数执行