js中[]==[],为什么执行结果是false

如题如题如题如题如题如题

阅读 6.6k
2 个回答

[] 数组,在 Javascript 中是对象,对象使用 == 比较都是比较的引用。简单的说,就是,如果是同一个对象,就相等,如果不是同一个对象,就不等。每次使用 [] 都是新建一个数组对象,所以 [] == [] 这个语句里建了两个数据对象,它们不等。

如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。

[] == []的时候,从值上尽管两边都是[]但是从引用上两边是不相等的,LZ可以试试
var a = [];
var b = a;
console.log(a==b);//true
b = [];
console.log(a==b);//false

推荐问题
logo
101 新手上路
子站问答
访问
宣传栏