当循环中的if子句断开时,在函数中返回false

时间:2018-02-15 12:55:36

标签: javascript function for-loop return break

我有一个函数,它运行抛出一个输入值数组(for循环)。在这个循环中,我检查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。

5 个答案:

答案 0 :(得分:1)

只需return 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()
       return false;
    }
  }

  return true;
}

答案 1 :(得分:1)

您可以将message放在那里

return false

答案 2 :(得分:1)

当验证返回false时,你可以return 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()
      return false;
    }
  }
  return true;
}

答案 3 :(得分:1)

您需要将return false置于if条件中,然后 return true置于之后。

function getValues(){
  const values = [value1, value2, value3, value4, value5];
  for(var i=0; i<values.length; i++) {
    if(!validateForm(values[i]) {
      return false; //notice this line
    }
  }
  return true ; //notice this line as well
}

答案 4 :(得分:1)

如果要退出函数执行,则应使用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();