js數(shù)據(jù)類型主要分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型
基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的區(qū)別:
基本數(shù)據(jù)類型是對值得引用,引用數(shù)據(jù)類型是對地址的引用;
基本數(shù)據(jù)類型存放在棧內(nèi)存,棧內(nèi)存提供了供JS代碼執(zhí)行的環(huán)境,引用數(shù)據(jù)類型存放在對內(nèi)存
基本數(shù)據(jù)類型包括:
string 字符串
number 數(shù)字
beloon 布爾值
null (第一理解是Object啊,應(yīng)該是引用類型才對? 解釋:引用類型的變量其實也是基本類型,而引用指向的對象本身才是引用類型。null不指向任何變量,它是一個常量,所以說是基本類型。)
undefined(同null)
引用數(shù)據(jù)類型包括:
對象數(shù)據(jù)類型
函數(shù)數(shù)據(jù)類型
對象數(shù)據(jù)類型又分為:數(shù)組[], 對象{}, 正則RegExp, 日期對象
對象數(shù)據(jù)類型存放在對內(nèi)存中的步驟:
1.開辟一個新的空間地址;
2.把對象中的鍵值都存在這個內(nèi)存空間中;
3.把空間地址賦值給一個變量名,指向當(dāng)前這個空間
函數(shù)數(shù)據(jù)類型由兩部分構(gòu)成:
- 函數(shù)的定義階段 定義3步驟
1)開辟一個新的空間地址
2)把函數(shù)中所有的JS代碼作為字符串存在這個空間中
3)把空間地址賦值給函數(shù)名 - 函數(shù)調(diào)用階段 調(diào)用2兩步驟
1)當(dāng)函數(shù)被調(diào)用的時候會形成一個私有作用域
2)把以前堆內(nèi)存中的字符串作為JS代碼來執(zhí)行
本文系轉(zhuǎn)載,加個人編輯!