让我们猜测两个具有相同属性的对象:
var x = {a : 'some'},
y = {a: 'some'};
输出:
x == y;
并且x === y;
都给出错误的
同样对于两个数组,
var p = [1, 2, 3],
q = [1,2,3];
p == q
并且p === q
都给false
。
但是如果我执行以下操作:
var x = y = {a: 'some'};
var p = q = [1, 2, 3];
以上所有比较给出true
。
为什么Javascript做这样的事情?请解释。