-
全局
isNaN
的问题:-
全局的
isNaN
会对非数字的值进行隐式类型转换。例如:javascript
复制
isNaN("abc"); // true isNaN(undefined); // true isNaN({}); // true
-
这种行为可能导致意外的结果。
-
-
Number.isNaN
的优势:-
Number.isNaN
只有在值为NaN
时才会返回true
,不会进行隐式类型转换。例如:javascript
复制
Number.isNaN("abc"); // false Number.isNaN(undefined); // false Number.isNaN({}); // false Number.isNaN(NaN); // true
-
更加严格和可靠。
-