JavaScript變量分為兩種類型:一種是基本類型,一種是引用類型掰派∥眩基本類型就是我們常見的五種類型:undefined怔毛、boolean员萍、number、string拣度、null這五種碎绎。不屬于這五種之內(nèi)的就是引用類型。
基本類型保存在棧區(qū)即棧內(nèi)存抗果,引用類型保存在堆區(qū)即堆內(nèi)存筋帖。
這里我們先舉個(gè)例子:
我們看到,給arr2尾部添加一個(gè)元素4冤馏,結(jié)果arr1這個(gè)數(shù)組尾部也添加了一個(gè)4日麸。為什么會(huì)出現(xiàn)這種情況,其實(shí)很簡(jiǎn)單逮光,這就是我們所說(shuō)的引用代箭。
對(duì)于基本類型:
var a ?= 10;
var b = a;
對(duì)于引用類型:
我們看到對(duì)于引用而言他們將名字和地址存到棧內(nèi)存中,堆內(nèi)存中保存的是對(duì)象睦霎,我們隊(duì)obj1或者obj2都會(huì)導(dǎo)致對(duì)象Object改變梢卸。他們只是指向了這個(gè)對(duì)象并不想基本類型變量那種走诞,再次創(chuàng)建一個(gè)棧內(nèi)存副女,不會(huì)相互影響。