javascript - 为什么 [1] 不等于 [1]?

标签 javascript

在 JavaScript 中:

(1 == 1) === true;
(1 === 1) === true;

var a = 1;
var b = [1];
(a == b) === true

但是

([1]==[1]) === false;

为什么会这样?我不知道

最佳答案

[1]和另一个[1]是不同的对象,对象相等定义为同一性。换句话说,一个对象只等于它自己。

> a = [1]
[1]
> b = [1]
[1]
> a == b
false
> b = a
[1]
> a == b
true

引用:http://es5.github.io/#x11.9.3 , 步骤 1.f 适用于此。

关于javascript - 为什么 [1] 不等于 [1]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790172/

相关文章:

javascript - 我应该如何开始一个新的 JavaScript 项目(测试、开发、构建)?

javascript - jQuery 无限滚动、kaminari 和 Rails 4。在另一个页面上触发无限滚动。刷新后不行

javascript - 如何在 jQuery 中获取相对于父级的 offset()?

javascript - 增加在选择元素 HTML 中搜索的时间

javascript - 删除两个字符串内的文本

php - jQuery:在隐藏的 Div 上实现 UI 自动完成

javascript - 在 Firefox 和 Safari 的异步函数中使用 window.open

javascript - 用于修改 JSON 文件的 NodeJS 脚本

javascript - 为什么回调函数被转换为 JQuery.Event

JavaScript 遍历 NodeList