1. 程式人生 > >對JS值型別和引用型別的整理

對JS值型別和引用型別的整理

Js變數型別:值型別和引用型別

1.值型別佔用空間固定,儲存在棧中。 2.儲存和複製的都是本身 3.用typeof可以檢測資料型別 4.基本資料型別資料是值型別

1.引用型別佔用空間不固定,儲存在堆中。 2.儲存的是指向物件的指標。 3.用instanceof去檢測資料型別。 4.用new()方法構造出的引用型別。

值傳遞和引用傳遞,引用物件儲存的不是值,是值的實體地址。(傳值和傳址) 物件沒有被任何指標指向,js的回收機制會將物件銷燬並回收記憶體。 引用型別的=比較都是比較地址。不同的物件包含著相同的值也不會相等。可以將物件轉換為字串在去比較物件是否相等,這時候值相等的物件就會相等。

基本資料型別傳入函式,函式會把資料拷貝複製給函式的引數變數。

純函式是,給定一個輸入只有唯一的輸出,並且不影響外部環境變數。

JSON.parse會形成新的物件,所以在深拷貝的時候可以使用JSON.stringify轉換為字串再通過JSON.parse轉化為新的物件,但是有侷限是物件的屬性值不能為undefined。

Js資料型別,基礎資料型別布林,string,number。特殊資料型別null,undefined。引用資料型別object