首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Under the Hood: NaN of JS

一、NaN 的本质 我们知道 NaN(Not A Number) 会出现在任何不符合实数领域内计算规则的场景下。比如 Math.sqrt(-1)就是 NaN,而 1/0 就不是 NaN。...同时需要注意的是,NaN 只会出现在浮点类型中,而不会出现在 int 类型里(当然 JS 并没有这个概念) 什么意思?用你熟悉的任何支持 int 和 double 两种类型的语言(比如 C)。...---- 两种 NaN 如果再细分的话,NaN 还可分为两种: Quiet NaN Signaling NaN 从性质上,可以认为第一种 NaN 属于“脾气比较好”,比较“文静”的一种,你甚至可以直接定义它...比如我们在 JS 中可以使用类似于 NaN+1,NaN+'123' 的操作,还不会报错。 而 Signaling NaN 就是一个“爆脾气”。...NaN 不等于 NaN ?

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python的nan,NaN,NAN

    Python的nan,NaN,NAN在Python编程中,我们经常遇到表示缺失或无效数据的情况。为了解决这种问题,Python中提供了特殊的浮点数表示:​​nan​​、​​NaN​​和​​NAN​​。...nan、NaN和NAN的含义和使用这三个表示法都表示“Not a Number”,即非数值。它们在Python中用于表示无效的或无法定义的结果。...')) # 输出:False,nan和inf不相等注意事项使用​​nan​​、​​NaN​​和​​NAN​​表示无效数据时,需要注意以下几点:比较:​​nan​​与任何值(包括它自己)进行比较,结果都是​​...例如,​​nan + 1​​、​​nan * 2​​的结果都是​​nan​​。动态性质:在很多情况下,​​nan​​在运算中会“传染”给其他值。...例如,​​nan + 1.0​​的结果仍然是​​nan​​,因为​​nan​​传播到了结果中。

    88240

    .map(parseInt)

    thisArg]) callback函数的执行规则 参数:自动传入三个参数 currentValue(当前被传递的元素); index(当前被传递的元素的索引); array(调用map方法的数组) parseInt...parseInt方法将会通过以下方式被调用 parseInt("1", 0) parseInt("2", 1) parseInt("3", 2) parseInt的第二个参数radix为0时,ECMAScript5...将string作为十进制数字的字符串解析; parseInt的第二个参数radix为1时,解析结果为NaN; parseInt的第二个参数radix在2—36之间时,如果string参数的第一个字符(除空白以外...),不属于radix指定进制下的字符,解析结果为NaN。...parseInt("3", 2)执行时,由于"3"不属于二进制字符,解析结果为NaN。 [ "7", 1, 1, ].map(parseInt) // 7 NaN 1

    51310

    JavaScript 的 parseInt() 函数

    parseInt() 函数可解析一个字符串,并返回一个整数。 parseInt 可以接受 2 个函数。...描述 parseInt函数将其第一个参数转换为一个字符串,对该字符串进行解析,然后返回一个整数或 NaN。 如果不是NaN,返回值将是以第一个参数作为指定基数 radix 的转换后的十进制整数。...如果第一个字符不能转换为数字,parseInt会返回 NaN。 为了算术的目的,NaN 值不能作为任何 radix 的数字。你可以调用isNaN函数来确定parseInt的结果是否为 NaN。...如果将NaN传递给算术运算,则运算结果也将是 NaN。 要将一个数字转换为特定的 radix 中的字符串字段,请使用 thatNumber.toString(radix)函数。...parseInt 转换和可能出现 NaN 的情况。 https://www.ossez.com/t/javascript-parseint/13811

    1.5K00

    JS中的NaN和isNaN,简直是双重人格?

    ]):false 2、当前检测的值已经是数字类型,是有效数字返回false,不是返回true(数字类型中只有NaN不是有效数字,其余都是有效数字) parseInt / parseFloat,等同于Number...,也是为了把其它类型的值转换为数字类型   和Number的区别在于字符串转换分析上   Number:出现任意非有效数字字符,结果就是NaN   parseInt:把一个字符串中的整数部分解析出来...,parseFloat是把一个字符串中小数(浮点数)部分解析出来   parseInt('13.5px') =>13 parseFloat('13.5px') =>13.5 parseInt('width...NaN的比较   NaN==NaN:false NaN和谁都不相等,包括自己 if(Number(num)==NaN){   alert('num不是有效数字!')...;  } NaN和谁都不相等,条件永远不成立(即使num确实不是有效数字,转换的结果确实是NaN,但是NaN!

    1.4K30
    领券