查询Javascript执行顺序

时间:2018-06-06 15:38:48

标签: javascript webpage

我在JavaScript中编写了以下代码:

var num=1;
var a=0;
while(a==0){
  num +=1;
  //some logic
  //some logic

  validate();
  alert(num);
}

function validate(){
  //some logic
  //some logic
  if(num==2){
    a=1;
  }
  //some logic
  //some logic
}

我在1, 2, 3..时收到警报,但a未成为1。我观察到validate();函数没有完成,但执行被移到下一次迭代。谁能帮我解决这个问题呢?

1 个答案:

答案 0 :(得分:3)

您的if语句正在为num分配值而不对其进行检查。您num=2始终为真,您需要num===2

此外,如果您想获得1,2或3,则需要先将num设置为0var num=0;)并同时num {您的3声明2声明{1}}代替if

您的更新代码:

num === 3