javascript – 为什么0 === -0为真,但是1/0 === 1 / -0是假的?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么0 === -0为真,但是1/0 === 1 / -0是假的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
var a = 0;
var b = -a;

当我将以下代码发布到控制台时,我得到了:

console.log(a === b); // true

但是当我用它做一些计算时,我得到了错误

console.log(1/a === 1/b); // false

为什么会这样?

解决方法

这是因为根据抽象相等比较算法,Infinity == -Infinity是假的.

1/0将同时产生无穷大1 / -0 Yields -Infinity.所以两者都不相等,从而返回错误.

猜你在找的JavaScript相关文章