我最近想过定义一个函数,当我发现时,复制isNaN的功能,而Number(undefined)
等于NaN</code>, but if you do
数字(未定义)=== NaN you get
false `。
我甚至试过(typeof Number(undefined)) === (typeof NaN)
,返回true
。
JavaScript在这做什么?
答案 0 :(得分:3)
常量NaN
永远不会等于任何内容,包括NaN
。 typeof NaN
的值为&#34;数字&#34;,因为NaN
是一个数字常量。
Number(undefined)
的值为NaN
。您可以使用isNaN()
来验证,或只是:
var x = Number(undefined);
if (x !== x) alert("It's NaN!");