[]==[] false

在js里没有堆和栈之分,只有一个巨大的内存。

也就是原始类型(可以直接保存在变量本地(window)的简单类型 number、string、Boolean、null、undefined)和引用类型(值无法保存在变量本地的复杂类型,需要通过变量名里的地址找到)。

变量里只能存一个值,是存在window里。而[a,b,c]这样的数组是存在于window以外,以地址的形式保存,数组名因为是变量,所以存储在window里,通过数组名去寻找地址,才能得到数组里的值。

[]是一种动作,创建数组的意思。//也是一种动作,创建正则表达式的意思(正则表达式不能动态生成)。所以[]==[]是指创建了两个数组,而这两个数组指向的是不同的两个地址,所以返回的是false,同理/正则/==/正则/也是false。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容