【发布时间】:2016-07-16 17:07:23
【问题描述】:
快速提问:
为什么返回 false?只是好奇。
var myArray = []; var myArray1 = new Array(); console.log(myArray === myArray1)【问题讨论】:
-
两者都是不同的数组...在不同的位置参考
标签: javascript arrays boolean
快速提问:
为什么返回 false?只是好奇。
var myArray = []; var myArray1 = new Array(); console.log(myArray === myArray1)【问题讨论】:
标签: javascript arrays boolean
两个不同的对象永远不会相互===(就此而言,它们也不是==)。对象相等意味着两个对象实际上只是一个对象;也就是说,=== 运算符的两边都是对完全相同的对象的引用。
所以,这会给你true:
var a = [], b = a;
console.log(a === b);
【讨论】:
每次都这样做
Array 构造函数的一个新实例被分配给该变量。因此,当您进行平等检查时,它们并不相同。就像当一个类的两个实例不相同时一样。
【讨论】: