您能解释一下这种怪异的JavaScript行为吗?
首先:
[] === [] false
[] == [] false
为什么是假的?对象是相同的,因此应返回true。
第二:
[] !== [] true
[] != [] true
同样,为什么如此?这些对象是相同的。
他们不一样。对象标识由两个指向同一实例的操作数定义。
var a = [],
b = [];
a == b; // false
a == a; // true
两个文字总是求和两个不同的实例,这两个实例不相等。如果要查找结构上的等效项,请参见如何在JavaScript中比较数组?。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句