首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何理解isNaN

如何理解isNaN
EN

Stack Overflow用户
提问于 2022-06-17 17:49:20
回答 1查看 19关注 0票数 2

我尝试在下面的代码块中,isNaN返回true。该值不是NaN,为什么返回值为真?

代码语言:javascript
复制
true 06-19 12:20:30.200

代码语言:javascript
复制
        var t = d3.timeParse("%Y-%m-%d %H:%M:%S.%L")("2022-06-19 12:20:30.200");
        v = d3.timeFormat("%m-%d %H:%M:%S.%L")(t)
        var isNan = isNaN(v)
        console.log(isNan,v)
代码语言:javascript
复制
<script src="https://unpkg.com/d3@7.0.4/dist/d3.min.js"></script>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-17 18:05:31

您应该使用Number.isNaN()代替。isNaN()的全局版本有一些令人困惑的行为

当isNaN函数的参数不是Number类型时,该值首先被胁迫为一个数字。然后对结果值进行测试,以确定其是否为NaN。

代码语言:javascript
复制
        var t = d3.timeParse("%Y-%m-%d %H:%M:%S.%L")("2022-06-19 12:20:30.200");
        v = d3.timeFormat("%m-%d %H:%M:%S.%L")(t)
        var isNan = Number.isNaN(v)
        console.log(isNan,v)
代码语言:javascript
复制
<script src="https://unpkg.com/d3@7.0.4/dist/d3.min.js"></script>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72663095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档