首页
学习
活动
专区
工具
TVP
发布

Under the Hood: NaN of JS

typeof1/undefined 是多少 [1,2,NaN].indexOf(NaN) 输出什么 如果你还不确定这两题的答案的话,请仔细阅读本文。 这两题的答案不会直接解释,请从文章中寻找答案。...同时需要注意的是,NaN 只会出现在浮点类型中,而不会出现在 int 类型里(当然 JS 并没有这个概念) 什么意思?用你熟悉的任何支持 int 和 double 两种类型的语言(比如 C)。...= *(double *)(bits); output(nan); free(bits); return nan; } 其中 output 是一个封装,用来输出任意一个 double 的内部二进制表示...比如我们在 JS 中可以使用类似于 NaN+1,NaN+'123' 的操作,还不会报错。 而 Signaling NaN 就是一个“爆脾气”。...要是真这样,世界上每一个程序员同时输出 NaN===NaN,总有一个人会得到 true,然后他就到 stackoverflow 上发了一个帖:你看 NaN 其实是会等于 NaN 的!

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

javascript的NaN属性

2017-05-03 11:54:33 NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。...Number.NaN 是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串时就返回这个值。...对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。 JavaScript 以 NaN 的形式输出 Number.NaN。...请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与 Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。...document.write(Month); 输出的值为Nan

1.1K10

分享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.

34350

前端学习之NaN浅析

从上述描述可以知道,这个函数判断一个float参数是不是NaN(Not a Number),即不是一个数字,那么什么是NaN,什么情况下会出现NaN呢?...值来表示,所有使用NaN值作为操作数的算术操作,结果都返回NaN。...Java中的Double和Float中都有isNaN函数,判断一个数是不是NaN,其实现都是通过上述 v != v 的方式,因为NaN是唯一与自己不相等的值,NaN与任何值都不相等。...= Double.NaN   还有一点需要注意:在将一个float的NaN窄化转换为整数类型T(T限于int或long类型之一)的时候,那转换结果就是int或long类型的0;而double类型的NaN...Float.NaN == Float.NaN Java.lang.Float.isNaN() Method http://zh.wikipedia.org/wiki/NaN IEEE 754

1.2K40
领券