为什么 indexOf() 和 findIndex() 与 Number.isNaN 的工作方式不同?

Why do indexOf() and findIndex() work differently with Number.isNaN?

我试图在数组中找到 NaN。我找到了这种方法。

console.log([1, NaN, 3].findIndex(Number.isNaN)); //1

然后我尝试对 indexOf 做同样的事情。为什么它不起作用?

console.log([1, NaN, 3].indexOf(Number.isNaN)); //-1

如果您查看 indexOf 的文档,您会发现它不需要函数来进行比较。它严格相等,因此它在数组中寻找 Number.isNaN