JavaScript函数可以正常工作。。但不在循环中

JavaScript函数可以正常工作。。但不在循环中,javascript,jquery,function,loops,for-loop,Javascript,Jquery,Function,Loops,For Loop,但这执行了3次。我很困惑。我尝试过使用console.log和调试器进行调试;但是没有用。什么是常见的解决方案?为循环变量提供范围 botManager(); botManager(); botManager(); 无论您在何处使用for循环。或者最好在页面的开头使用“use strict” 因为如果有其他for循环在主for循环内调用的函数中使用i,那么这可能会导致问题。给循环变量赋予作用域 botManager(); botManager(); botManager(); 无论您在何处使

但这执行了3次。我很困惑。我尝试过使用console.log和调试器进行调试;但是没有用。什么是常见的解决方案?

为循环变量提供范围

botManager();
botManager();
botManager();
无论您在何处使用for循环。或者最好在页面的开头使用“use strict”


因为如果有其他for循环在主for循环内调用的函数中使用i,那么这可能会导致问题。

给循环变量赋予作用域

botManager();
botManager();
botManager();
无论您在何处使用for循环。或者最好在页面的开头使用“use strict”


因为如果有其他for循环在主for循环内调用的函数中使用i,那么这可能会导致问题。

是否希望botManager执行100次?或者wht?看起来像是您的botManager函数调用了其他函数,这些函数花费了太长的时间来完成,而循环执行速度相当快,因此您没有得到任何结果。。你可以添加超时功能来增加延迟,如果botManager返回一些结果,你可以使用链接来使它们同步…将i改为3,然后尝试单步执行你的代码你可以从一个空的botManager实现开始,一路上添加更多的代码,直到你看到当前的行为。如果嵌套的当for循环再次调用botManager时,函数还没有完成它们的工作,这是1毫秒。您希望botManager执行100次吗?或者wht?看起来像是您的botManager函数调用了其他函数,这些函数花费了太长的时间来完成,而循环执行速度相当快,因此您没有得到任何结果。。你可以添加超时功能来增加延迟,如果botManager返回一些结果,你可以使用链接来使它们同步…将i改为3,然后尝试单步执行你的代码你可以从一个空的botManager实现开始,一路上添加更多的代码,直到你看到当前的行为。如果嵌套的当for循环再次调用botManager时,函数还没有完成它们的工作,即1毫秒。谢谢你,耶稣让我们一起努力吧,现在我会努力的。我甚至都不知道有人存在。。我知道我错过了什么!虽然这可以解决问题,但无助于理解问题。问题中显示的代码不可能存在上述问题。JavaScript不会忙或累,也不会忘记如何运行循环。它就是不能那样工作。问题在别处,在问题中没有显示的代码中。现在,如果其他一些代码是异步代码,这取决于i的值,那就不同了。但是我们不可能从问题中显示的代码中知道这一点。另外,还应该考虑let的浏览器支持。@MichaelGeary是的,对此我很抱歉。我试图猜测发生了什么事,但我无法将我的猜测作为评论发表,因为当时我缺乏足够的声誉点数,所以除了发表答案外,我别无选择。@ThanasisGrammatopoulos我的答案已编辑。以前我有VarI,版本之后变成了LetI。谢谢你,耶稣。”让我们一起努力吧,现在我会努力的。我甚至都不知道有人存在。。我知道我错过了什么!虽然这可以解决问题,但无助于理解问题。问题中显示的代码不可能存在上述问题。JavaScript不会忙或累,也不会忘记如何运行循环。它就是不能那样工作。问题在别处,在问题中没有显示的代码中。现在,如果其他一些代码是异步代码,这取决于i的值,那就不同了。但是我们不可能从问题中显示的代码中知道这一点。另外,还应该考虑let的浏览器支持。@MichaelGeary是的,对此我很抱歉。我试图猜测发生了什么事,但我无法将我的猜测作为评论发表,因为当时我缺乏足够的声誉点数,所以除了发表答案外,我别无选择。@ThanasisGrammatopoulos我的答案已编辑。以前我有VarI,版本之后变成了LetI。
for(let i = 0; i < 100; i++)