【发布时间】:2018-11-03 09:09:08
【问题描述】:
为什么会这样:
1 === 1;// true
0 === -0;// true
1/0 === 1/-0;// false
原因:
1/0=Infinite;
1/-0=-Infinite;
问题:
为什么不是 1/0 或 1/-0 未定义 或 NaN?
不可能是Infinity或-Infinity,因为0等于-0,所以我应该说1/0等于1/-0,但为什么不是呢?以及为什么它不是未定义(我的计算器所说的)或 NaN。
【问题讨论】:
-
因为 IEEE-754 是这样说的。
-
因为规范是这样说的。不要在其中解读任何数学含义,它只是被认为比替代方案更有用(对程序员)的约定
-
NaN = 不是数字,但在该操作中您使用的是数字,因此将两个数字相除并得到“非数字”结果是没有意义的。
标签: javascript math infinity