我有一个函数,该函数运行时会抛出一个输入值数组(用于循环)。在此循环中,我使用if子句检查验证是否返回true或false(调用其他函数)。当验证返回false时,我想中断for循环并在函数中返回false并跳出它。

function getValues(){
  const values = [value1, value2, value3, value4, value5];
  for(var i=0; i<values.length; i++) {
    if(!validateForm(values[i]) {
      //break the for loop and jump out of getValues()
    }
  }
}


使用if子句中的break语句,我可以跳出for循环,但不能确保仅在这种情况下该函数将返回false。

最佳答案

如果要退出函数执行,则应使用return;如果要退出循环并继续执行函数,请使用break

return的示例:



function loopFunc() {
  for (var i = 0; i <= 10; i++) {
    console.log("i:", i);
    if (i === 5) {
      return;
    }
  }
  console.log("This log will not be printed");
}

loopFunc();





break的示例:



function loopFunc() {
  for (var i = 0; i <= 10; i++) {
    console.log("i:", i);
    if (i === 5) {
      break;
    }
  }
  console.log("This log will be printed");
}

loopFunc();

关于javascript - 当循环内的if子句中断时,在函数中返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48807846/

10-12 12:23
查看更多