【问题标题】:Call function after loop after fail to satisfy the condition不满足条件后循环后调用函数
【发布时间】:2020-10-18 19:00:34
【问题描述】:

抱歉,这是一个基本问题。永远循环的最佳方式是什么。我知道如何使用 while 循环来做到这一点,但我不确定这种方法是否有效。

我正在尝试继续运行函数循环器。函数内部有多个条件。基于一个值,条件之一将触发。最后,该函数将重新开始并再次测试该值,以查看是否会一遍又一遍地满足其中一个条件。

我真的很感激!

function looper(){
If (condition) do something 


   else // loop again 
    } 
looper();

【问题讨论】:

  • 请澄清您的问题。目前还不清楚
  • 你想达到什么目的?无限循环可能不是您理想的解决方案...
  • 永远循环的最佳方法是使用任何条件始终为真的循环。 while(True){ },或任何其他循环。如果您尝试使用函数来执行此操作,则会由于无限递归而导致堆栈溢出或类似的内存不足情况。
  • 我正在尝试继续运行函数循环器。函数内部有多个条件。基于一个值,条件之一将触发。最后,该函数将重新开始并再次测试该值,以查看是否会一遍又一遍地满足其中一个条件。
  • @user14435220 在浏览器中还是在工作线程中?

标签: javascript function while-loop infinite-loop


【解决方案1】:

也许这个变种会满足你的条件:

let j = true;
function loop(){
    if (j == true) return;
    else {
        console.log("u cant escape");
        loop();
    }
}
loop();

【讨论】:

  • 这最终会导致 Stackoverflow 崩溃,因为每次调用函数都需要存储一些信息,即使它只是返回的位置。
  • 是的,我知道。但是作者想创建无限循环。当然,他可以改变条件来调节他需要的条件。但是,没有退出条件的无限循环函数的想法很奇怪。
猜你喜欢
  • 2019-07-21
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
  • 2020-10-31
  • 1970-01-01
  • 2017-08-13
相关资源
最近更新 更多