当另一个函数返回javascript时停止函数

时间:2017-11-21 06:16:45

标签: javascript

假设我有3个函数,如下所示:

function1() {
  a = 1;
  b = 2;
  function2(a);
  function3(b);
}

function2(a) {
  if (a == 1) {
    return alert("test")
  }
}

function3(a) {
  if (a == 2) {
    return alert("test")
  }
}

现在,如果function3()返回某些内容,我希望阻止function1()function2()中运行。怎么可能?

2 个答案:

答案 0 :(得分:4)

如果出现function2警报,则停止调用function3。你不能return alert(),因为这会导致未定义。而是让alert完成,然后return。并使用return作为下一个函数调用的条件。以下是更新后的代码:

function function1() {
  a = 1;
  b = 2;
  if (!function2(a)) {
    function3(b);
  }
}

function function2(a) {
  if (a == 1) {
    alert("function2 alert");
    return true;
  }
  return false;
}

function function3(a) {
  if (a == 2) {
    alert("function3 alert");
    return true;
  }
  return false;
}

function1();

答案 1 :(得分:2)

如果function2返回if块将触发,请尝试以下操作。然后它将运行function3

    function1(){
     a = 1;
     b= 2;
      if (!function2(a)) { 
       function3(b) 
      }
    }

    function2(a){

     return a ==1

    }

    function3(a){

     return a ==2

    }