[] == []为什么会是false?
js 中可以使用 == 和 === 运算符进行相等性判断,其中 == 运算符会进行隐式转换。
MOREDETAIL: https://sevody.github.io/2017...
楼主可以看看JAVA中的类似问题
String a = "hello world";
String b = "hello world";
String c = new String("hello world");
string d = new String("hello world");
print(a==b); //true
print(a.eqauls(b)); //true
print(c==d); //false
print(a.eqauls(b)); //true
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
在js中,数组为引用类型,通过==或者===来比较两个数组是否相同,其实是比较两个数组的内存地址是否相同。
[] == []
为false,是因为左、右两边的'[]'都不是同一个数组对象,其内存地址不一样。如果要判断两个数组中的元素内容是否相同,可以通过将数组转换成字符串再做比较