if语句有多个条件

时间:2016-07-12 11:19:05

标签: javascript

我需要检查三个条件,

sheet_exists = 1
recalc = 1 
qty_total and new_qty_total are not equal

如果仅使用前两个参数,则if语句运行良好:

if(sheet_exists === 1 && recalc === 'yes'){
   //do something
}

但是当我尝试添加第3个参数时,它会失败,if语句中的操作将被忽略。我试过了:

if((sheet_exists === 1) && (recalc === 'yes') && (qty_total !== new_qty_total)){
   //do something
}

if(sheet_exists === 1 && recalc === 'yes' && (qty_total !== new_qty_total)){
    //do something
}

if(sheet_exists === 1 && recalc === 'yes' && qty_total !== new_qty_total){
    //do something
 }

我哪里错了?

1 个答案:

答案 0 :(得分:-2)

考虑到你对前两个条件的行为感到满意,而不是最后两个条件的行为,问题必须在最后一个条件中。

请注意,qty_total !== new_qty_total仅在TRUEqty_total的值或类型不同时才会返回new_qty_total

如果一个是整数100而另一个是字符串'100',则条件评估为TRUE,因为它们在数据类型上有所不同。但如果它们都是整数,它将返回FALSE,因为值和类型都不相同。

为确保比较正常,请确保两个变量的数据类型相同。