为什么{} == {}在JavaScript中为false

时间:2015-02-19 06:31:21

标签: javascript

为什么{} == {}和{} === {}在javascript中为false?

{} == {} // false
{} === {} // false

2 个答案:

答案 0 :(得分:4)

javascript按身份比较对象,而不是值。每个对象,每个{}都是不同的。

同样适用于数组。

答案 1 :(得分:2)

1)原因是内部JavaScript实际上有两种不同的方法来测试相等性。字符串和数字等原语按其值进行比较,而数组,日期和普通对象等对象则按其引用进行比较。通过引用进行的比较基本上检查给定的对象是否指向memory.so中的相同位置

{} == {}   is false

2)使用==或===来比较对象没有任何区别,因为比较它们总是返回false。