1. 程式人生 > 其它 >JavaScript 簡單資料型別與複雜資料型別

JavaScript 簡單資料型別與複雜資料型別

#1.簡單資料型別和複雜資料型別

簡單型別又叫做基本資料型別,複雜型別又叫做引用型別

·型別值:簡單資料型別/基本資料型別,在儲存時變數中儲存的是值本身,因此叫做值型別

string , number , boolean , undefined , null

null 比較特殊,他輸出返回的是一個空物件 object

null的使用:如果有個變數我們以後打算儲存為物件,暫時沒想好放啥,這個時候就個 null

·引用型別:複雜資料型別,在儲存時變數中儲存的僅僅是地址(引用),因此叫做引用資料型別

通過 new 關鍵字建立的物件(系統物件,自定義物件),如Object、Array、Date等

#2.堆和棧

1.棧(作業系統):由作業系統自動分配釋放存放函式的引數值、區域性變數的值等,其操作方式類似於資料結構中的棧;簡單資料型別存放到棧裡面

2.堆(作業系統):儲存複雜型別(物件),一般由程式設計師分配釋放,若程式設計師不釋放,由垃圾回收機制回收。複雜資料型別存放在堆裡面

注意JavaScript中沒有堆疊的概念,通過堆疊的方式,可以讓大家更容易理解程式碼的一些執行方式,便於將來學習其他語言

#3.簡單型別的記憶體分配

值型別變數的資料直接存放在變數(棧空間)中

 

 #3.簡單型別傳參

函式的形參也可以看做事一個變數,當我們把一個值型別變數作為引數傳給函式的形參時,其實時把變數在棧空間裡的值複製了一份給形參,那麼在方法內部堆形參做任何修改,都不會影響到外部變數