最近,我遇到了一个不评估if参数的脚本。以下JScript中的代码和数量不会被判断为和=,>或者<方程。
if (CODE && QTY) {
// do something
}
但根据我的理解,它应该是这样的:
if (CODE > 100 && QTY < 200) {
// do something
}
解决方案是什么?
答案 0 :(得分:2)
如果括号内的语句评估为truthy,则执行if
语句。
在您的第一个示例中,只要// do something
和CODE
为真值,就会执行QTY
。
这意味着CODE
和QTY
都会被检查不:
false
0
""
(空字符串)null
undefined
NaN
它使用了更多的有效性检查来确保变量可以使用,而不是检查特定值。