为什么IF参数看起来不像IF参数?

时间:2017-01-18 11:35:52

标签: javascript

最近,我遇到了一个不评估if参​​数的脚本。以下JScript中的代码和数量不会被判断为和=,>或者<方程。

if (CODE && QTY) {
    // do something
}

但根据我的理解,它应该是这样的:

if (CODE > 100 && QTY < 200) {
    // do something
}

解决方案是什么?

1 个答案:

答案 0 :(得分:2)

如果括号内的语句评估为truthy,则执行if语句。

在您的第一个示例中,只要// do somethingCODE为真值,就会执行QTY

这意味着CODEQTY都会被检查

  • false
  • 0
  • ""(空字符串)
  • null
  • undefined
  • NaN

它使用了更多的有效性检查来确保变量可以使用,而不是检查特定值。