kub*_*506 4 javascript function
嗨,我正在为这个简单的代码寻找一个很好的解释
为什么isNaN(new Date(some date))给false?(返回对象的类型)
这是一个对象,据我所知isNaN函数显式转换为数字,所以如果我将不同的对象传递给isNaN,则返回true.
Poi*_*nty 14
首先要做的isNaN()是将其参数转换为数字(就像你自己写的那样).如果参数是一个对象,那就是通过调用.valueOf()对象的方法来完成的.对于返回时间戳的Date实例,它不适NaN用于任何有效日期.
试试这个:
alert(isNaN({ valueOf: function() { return 12; } }));
Run Code Online (Sandbox Code Playgroud)
对于无效日期:
alert(isNaN(new Date("potatoes")));
Run Code Online (Sandbox Code Playgroud)
那就是true.如果你想要更严格,isNaN你可以使用Number.isNaN:
alert(Number.isNaN(NaN)); // true
Run Code Online (Sandbox Code Playgroud)
isNaNNumber构造函数的版本不会将其参数强制转换为数字.严格来说,NaN如果你问我(你没有),那就是对意义的歪曲.NaNIEEE浮点的概念不是"不是数字的东西"的一般概念,而是格式中不代表数字的位模式集.
| 归档时间: |
|
| 查看次数: |
4181 次 |
| 最近记录: |