比较变量与自身

Posted

技术标签:

【中文标题】比较变量与自身【英文标题】:Comparing a variable with itself 【发布时间】:2015-01-24 11:50:21 【问题描述】:

我偶然发现了这个 Array.prototype.includes 的 polyfill。 https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Array/includes。 在第 21,22 行将变量与自身进行比较是否有原因?

if (searchElement === currentElement ||
         (searchElement !== searchElement && currentElement !== currentElement)) 
  return true;

【问题讨论】:

【参考方案1】:

是的,|| 的第二个操作数确实会检查 searchElementcurrentElement 是否都是 NaN - JavaScript 中的 only value 不是 === 本身。 includes 应该使用SameValueZero equivalence algorithm,它不同于Strict Equality Comparison Algorithm(由=== 使用)或SameValue algorithm(在Object.is 中使用)。

【讨论】:

以上是关于比较变量与自身的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript的数据类型与变量

怎样清空 Ajax中的自身变量的值?

划重点!通俗解释协方差与相关系数

JavaScript基础

MapReduce-皮尔逊(Pearson)线性相关

将变量与 Lua 表中的所有变量进行比较?