首页
学习
活动
专区
工具
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
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于js基础easy忘记的那些事儿「建议收藏」

    1.Number() 通过这个函数转化的值仅仅有两个:数值和NaN,通过parseInt也能转化为数值。...可是像“134df”转化的值为134,而Number(“134df”)则是NaN; 2.String() 转化成字符的方法有两种:调用toString()和String(),通过String()转化后有...而且大写字母的字符编码所有<小写字母的字符编码 假设一个操作数是数值,要把另外一个也转化为数值,然后比較 假设有一个是对象,则调用该对象的valueOf方法,没有的话调用toString方法,之后依据前面的规则进行比較...obj2,所以当当中一个改变时,另外一个的属性值也会改变,由于他们指向的是同一个空间;而var a = 10; var b = a;则是简单的将a的值赋值给了b; 8.js垃圾收集方式有两种...所以即使使用的是标记清除,也仅仅是除了dom对象之外的其它原生的js对象採用的是这些。在ie9时进行了修复,把dom和bom转化成了原生的js对象,这时才是全然的标记清除。

    20710

    分享18个用于处理 null、NaN 和undefined 的 JS 代码片段

    检查 NaN: 要检查值是否为 NaN(非数字),可以使用 isNaN() 函数: if (isNaN(value)) { // Code to handle NaN value } 4....如果为 NaN,则默认为一个值: 如果值为 NaN,您可以使用 isNaN() 函数以及逻辑 OR 运算符来提供默认值: const result = isNaN(value) ?...检查值是否为 null、undefined或 NaN: 将 null、未定义和 NaN 检查与逻辑 OR 运算符结合起来: if (variable === null || typeof variable...使用 NaN 进行短路评估: 如果值为 NaN,则可以使用逻辑 AND 运算符进行短路评估: const result = !isNaN(value) && someFunction(); 13....将 NaN 转换为布尔值: 要将 NaN 转换为布尔值,可以使用 isNaN() 函数和逻辑 NOT 运算符: const result = !isNaN(value); 17.

    63450
    领券