zoukankan      html  css  js  c++  java
  • JS中的NaN

    什么是NaN?它的类型是什么?如何可靠地测试一个值是否等于NaN?

    NaN属性表示“不是数字”的值。这个特殊值是由于一个操作数是非数字的(例如“abc”/ 4)或者因为操作的结果是非数字而无法执行的。

    虽然这看起来很简单,但NaN有一些令人惊讶的特征,如果人们没有意识到这些特征,就会导致bug。

    一方面,虽然NaN的意思是“不是数字”,但它的类型是,数字:

    console.log(typeof NaN === "number"); // logs "true"
    

     此外,NaN相比任何事情 - 甚至本身! - 是false: 

    console.log(NaN === NaN); // logs "false"
    

     

    测试数字是否等于NaN的半可靠方法是使用内置函数isNaN(),但即使使用 isNaN()也不是一个好的解决方案。.

    一个更好的解决方案要么是使用value!==值,如果该值等于NaN,那么只会生成true。另外,ES6提供了一个新的Number.isNaN()函数 ,它与旧的全局isNaN()函数不同,也更加可靠。

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

  • 相关阅读:
    计蒜客 动态规划基础 蒜头跳木桩
    委托的使用和合并
    asp.net "callback" 和 "postback" 的区别.
    3 顶层父类
    2 异常类
    1 智能指针
    16 #error 和 #line
    15 条件编译
    14 宏
    13 编译和链接
  • 原文地址:https://www.cnblogs.com/mahmud/p/10283441.html
Copyright © 2011-2022 走看看