JavaScript退出循环三种方法(break, return, continue)

Return语句:
当在函数体中使用return语句时,函数将会停止执行。如果指定一个值,则这个值返回给函数调用者。例如,以下函数返回其参数x的平方,其中x是数字。

function square(x) {
   return x * x;
}
var demo = square(3);
// demo will equal 9

如果省略该值,则返回undefined。

下面的 return 语句都会终止函数的执行:

return;
return true;
return false;
return x;
return x + y / 3;

中断一个函数的执行
函数将会在return语句执行后立即中止。
即使函数主题中还有其他语句, 函数执行也会停止!
在一些表单提交中,也可以通过return false来阻止默认的提交方式,改用Ajax的提交方式

function counter() {
  for (var count = 1; ; count++) {  // 无限循环
    console.log(count + "A"); // 执行5次
      if (count === 5) {          
        return;
      }
      console.log(count + "B");  // 执行4次
    }
  console.log(count + "C");  // 永远不会执行
}

counter();

// Output:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A

返回一个函数
如闭包

function magic(x) {
  return function calc(x) { return x * 42};
}

var answer = magic();
answer(1337); // 56154

break 语句“跳出”循环
break 语句会中断循环,并继续执行循环之后的代码(如果有):

for (i = 0; i < 10; i++) {
    if (i === 3) { break; }
    text += "数字是 " + i + "
"; }

continue 语句“跳过”循环中的一个迭代
continue 语句中断(循环中)的一个迭代,如果发生指定的条件。然后继续循环中的下一个迭代。

for (i = 0; i < 10; i++) {
    if (i === 3) { continue; }
    text += "数字是 " + i + "
"; }

break 和 continue 语句的不同之处
break 语句可以立即退出循环,阻止再次反复执行任何代码。

而 continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。

var iNum = 0;

for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    break;
  }
  iNum++;
}
alert(iNum);	//输出 "4"

var iNum = 0;

for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    continue;
  }
  iNum++;
}
alert(iNum);	//输出 "8"

continue 语句(不论有无标签引用)只能用于跳过一个迭代。

break 语句,如果没有标签引用,只能用于跳出一个循环或一个 switch。

如果有标签引用,则 break 语句可用于跳出任意代码块:

var iNum = 0;

outermost:
for (var i=0; i<10; i++) {
  for (var j=0; j<10; j++) {
    if (i == 5 && j == 5) {
    break outermost;
  }
  iNum++;
  }
}

alert(iNum);	//输出 "55"

var iNum = 0;

outermost:
for (var i=0; i<10; i++) {
  for (var j=0; j<10; j++) {
    if (i == 5 && j == 5) {
    continue outermost;
  }
  iNum++;
  }
}

alert(iNum);	//输出 "95"

TIps:有标签的语句
可以用下列语句给语句加标签,以便以后调用:

label : statement
start : i = 5;

你可能感兴趣的:(JavaScript退出循环三种方法(break, return, continue))