为啥js中的for循环为循环完就退出了循环了

JavaScript011

为啥js中的for循环为循环完就退出了循环了,第1张

JavaScript提供完全控制来处理循环和switch语句。可能有一种情况,当需要退出一个循环,但未达到其底部。也可能有一种情况,当要跳过的码块的一部分,并直接开始下一个迭代。 为了处理这些情况下,JavaScript提供了break和continue语句。

     我估计是你用的递归方法出的问题。假设你递归到了N层,在N+1层的时候找到了你要的结果。此时的循环只是跳出了N+1层的,没有跳出N层,而N层的循环可能还没有结束,会继续执行,更有可能还会继续递归。不知道我的猜想对不对,呵呵~!

      建议使用try/catch判断找到结果后抛出异常来终止函数的执行。我个人不喜欢使用递归方法。

forEach()方法是对数组的每一项都运行方法所传入的函数,没有返回值,所以在forEach中使用break和return都无法结束循环并返回值。

要想返回或退出,用for循环或forEach里抛出异常。