JavaScript的7种数据类型中,number、string、boolean、null、undefined、symbol为基本数据类型,而object为复杂类型(complex type)。在计算机中,简单类型数据存放在栈(Stack)中,复杂类型的数据则存放在堆(Heap)中而其Heap地址存放在Stack里。Stack存放规则是先进后出,就像装东西的桶一样,最后放入的物品取出操作时被最先取出。Heap则是无序的,存放结构像二叉树。
复杂数据在内存的数据区里的存放分成两部分,其数据内容写在堆里,而指向堆的地址存在栈里。就像是因为货物太过繁杂,不能像普通物件直接顺序摆放在货架Stack上那么省地,所以将他们放在heap的一间间仓库里,货物名称与其对应存放的房间号制成一张张地址名牌放在狭小的货架格子里,每当需要找货A就去放A地址名牌的格子里查找一下其仓房地址,才能在仓库里找到它。
网友评论