return 会停止循环吗? [英] Does return stop a loop?

查看:87
本文介绍了return 会停止循环吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个这样的循环:

Suppose I have a loop like this:

for (var i = 0; i < SomeArrayOfObject.length; i++) {

  if (SomeArray[i].SomeValue === SomeCondition) {

     var SomeVar = SomeArray[i].SomeProperty;
     return SomeVar;
  }
}

快速提问:return 本身会停止循环的执行吗?

Quick question: does the return stop the execution of the loop in and of itself?

推荐答案

是的,return 停止执行并退出函数.return always** 立即退出其函数,如果它在 for 循环中则不再执行.

Yes, return stops execution and exits the function. return always** exits its function immediately, with no further execution if it's inside a for loop.

很容易自己验证:

function returnMe() {
  for (var i = 0; i < 2; i++) {
    if (i === 1) return i;
  }
}

console.log(returnMe());

** 注意:请参阅 this other answer 关于 try/catch/finally 的特殊情况code> 和 this answer 关于 forEach 循环如何它自己的函数范围不会脱离包含函数.

** Notes: See this other answer about the special case of try/catch/finally and this answer about how forEach loops has its own function scope will not break out of the containing function.

这篇关于return 会停止循环吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆