这个
if (typeof(item.PROPERTY_BAL_VALUE == 'undefined' || item.PROPERTY_BAL_VALUE == 'NaN'))
一样什么?
if (typeof(item.PROPERTY_BAL_VALUE == 'undefined') || typeof (item.PROPERTY_BAL_VALUE == 'NaN'))
这个
if (typeof(item.PROPERTY_BAL_VALUE == 'undefined' || item.PROPERTY_BAL_VALUE == 'NaN'))
一样什么?
if (typeof(item.PROPERTY_BAL_VALUE == 'undefined') || typeof (item.PROPERTY_BAL_VALUE == 'NaN'))
是和不是。
首先,您的两个示例都是错误的,因为
typeof
在所有情况下它都会返回boolean
,因为您检查的不是对象字段的类型,而是逻辑操作的类型:其次,
NaN
它有类型number
,没有,所以使用NaN
符号形式typeof(some) == NaN
没有意义。第三,在这种情况下使用是没有意义的
typeof
,因为您可以简单地使用undefined
和函数进行比较isNaN
:顺便说一句,另外值得考虑的是
undefined
- 这是一个错误值,因此,在某些情况下,值得使用严格比较 (===
) 或真的typeof
: