为什么 0 === -0 为真,但 1/0 === 1/-0 为假
Why 0 === -0 is true, but 1/0 === 1/-0 is false?
var a = 0;
var b = -a;
当我将以下代码发布到控制台时,我得到了true
:
console.log(a === b); // true
但是当我用它做一些计算时,我得到了false
:
console.log(1/a === 1/b); // false
为什么会这样?
这是因为根据抽象相等比较算法Infinity == -Infinity
是假的。
1/0
将同时产生Infinity
1/-0
收益率-Infinity
。所以两者都不是相等的,因此返回false
.
相关文章:
- React.isValidElement为假阴性
- Javascript逻辑运算符||将0读取为假值.有什么好办法解决这个问题吗
- 为什么 0 === -0 为真,但 1/0 === 1/-0 为假
- Javascript:检查window.fullScreen是否为假,然后在新窗口中全屏打开url
- 多个函数,返回为假但表单仍在提交
- 为什么提交带有 if 条件的表单为假
- 使正数的计算结果为真,使负数计算为假
- 当 Django 中的确认消息为假时,什么都不做
- 如果 [0] == 0 和 0 == [[0]] 都为真,则为什么 [0] == [[0]] 为假
- meteor 允许 Collection.insert 仅当特定会话/会话不为假时
- JavaScript 属性删除如果为假,则不删除,如果为真循环
- 如何在 Select2 中设置最大选择长度,而关闭选择为假
- Javascript 速记方法,如果存在数组元素,则为变量分配真/假
- 为假三维动画添加透视
- 如果验证为假,如何不发布表单
- 如果来自PHP的结果为假,如何处理ajax请求
- 拖放,使可拖动为假
- Boolean'的值显示为真,但显示为假
- 一旦布尔变量为假,在其他情况下不要返回真
- JavaScript:变量为假,但if语句为真