主要總結(jié)下普通類型和對(duì)象的存儲(chǔ)方式。
JS目前一共有7種數(shù)據(jù)類型柴信,6種為基本類型(Number套啤,String,Boolean随常,Null潜沦,Undefined,Symbol)绪氛。這六種數(shù)據(jù)類型是存儲(chǔ)在棧(Stack)中的止潮,一行一行存儲(chǔ)。
最后一種復(fù)雜數(shù)據(jù)類型Object是存儲(chǔ)在堆(Heap)中的钞楼,通過引用的方式賦值給變量喇闸。
由此也引出了一個(gè)概念,淺拷貝和深拷貝。
a.基本類型的變量賦值燃乍,就是深拷貝唆樊。下方代碼中b值被改動(dòng),并不會(huì)影響a值刻蟹。
var a=1;
var b=1;
b;//1
淺拷貝則是簡(jiǎn)單的值的傳遞逗旁,a值傳遞給b,b值改動(dòng)時(shí)舆瘪,a值也會(huì)改動(dòng)片效,以對(duì)象為例:
var a={c:1}
var b=a;
b.c=2;
a//{c: 2}