我在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();
函数没有完成,但执行被移到下一次迭代。谁能帮我解决这个问题呢?
答案 0 :(得分:3)
您的if
语句正在为num
分配值而不对其进行检查。您num=2
始终为真,您需要num===2
。
此外,如果您想获得1,2或3,则需要先将num
设置为0
(var num=0;
)并同时num
{您的3
声明2
声明{1}}代替if
您的更新代码:
num === 3