我需要检查三个条件,
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
}
我哪里错了?
答案 0 :(得分:-2)
考虑到你对前两个条件的行为感到满意,而不是最后两个条件的行为,问题必须在最后一个条件中。
请注意,qty_total !== new_qty_total
仅在TRUE
和qty_total
的值或类型不同时才会返回new_qty_total
。
如果一个是整数100
而另一个是字符串'100'
,则条件评估为TRUE
,因为它们在数据类型上有所不同。但如果它们都是整数,它将返回FALSE,因为值和类型都不相同。
为确保比较正常,请确保两个变量的数据类型相同。