一个简单的问题...
为什么这样:
currentMarkerName
或这个:
const name = perception && typeof perception.name !== 'undefined' ? perception.name : currentMarkerName;
返回isNaN(true)
吗?
我了解到isNaN(false)
的评估结果为false
,而false
的评估结果为0
或其他...
但是true
的目的不是仅当变量或值“恰好”为数字时才返回false吗?
答案 0 :(得分:1)
您认为,它们返回false,因为my_list = [1,2,3,4]
i=0
while(i < len(my_list)):
print(my_list[i])
i+=1
首先将其参数强制为数字,然后返回参数是否为NaN。
isNaN
是Number(true)
,而1
是Number(false)
,所以它们都不是NaN。
要执行更严格的检查并避免隐式强制,请改为调用Number.isNaN
:
0
和Number.isNaN(true)
均返回Number.isNaN(false)
。