相关疑难解决方法(0)

为什么NaN不等于NaN?

相关的IEEE标准定义了一个数字常量NaN(不是数字),并规定NaN应该比较为不等于它自己.这是为什么?

我熟悉的所有语言都实现了这个规则.但它经常会导致严重的问题,例如当NaN存储在容器中时,NaN存在于正在排序的数据中等时的意外行为等.更不用说,绝大多数程序员都希望任何对象都等于自身(在他们了解NaN之前,令人惊讶的是他们增加了错误和混乱.

IEEE标准经过深思熟虑,因此我确信NaN的比较与其本身相同是很糟糕的.我只是想不通它是什么.

language-agnostic floating-point nan ieee-754

114
推荐指数
5
解决办法
3万
查看次数

这可以返回true函数canbetrue(x){return x!= x; }

一位朋友问我在求职面试中得到的这个问题

function canbetrue(x) {
return x != x;
}
Run Code Online (Sandbox Code Playgroud)

哪个值param会使上述函数返回true

console.log(canbetrue(param));
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
84
查看次数