數據類型分類(2大類)
基本(值)類型
* Number: 任意數值
* String: 任意文本
* Boolean: true/false
* undefined: undefined
* null: null
對象(引用)類型
* Object: 一般對象類型
* Array: 特別的對象類型(下標/內部數據有序)
* Function: 特別的對象類型(可執行)
數據類型的判斷
typeof檢查
數據類型 |
typeof檢查 |
Number |
number |
String |
string |
Boolean |
boolean |
undefined |
undefined |
null |
object |
Object |
object |
Array |
object |
Function |
function |
如何判斷數據類型?
typeof:
* 可以區別: 數值, 字符串, 布爾值, undefined, function
* 不能區別: null與對象, 一般對象與數組
instanceof
* 專門用來判斷對象數據的類型: Object, Array與Function
"==="
* 可以判斷: undefined和null
Object.prototype.toString.call(target).slice(8,-1)
//target爲所要檢查的數據,此方法可以返回各種數據類型
數據類型相關問題:
undefined與null的區別?
undefined代表變量沒有賦值
null: 代表變量賦值了, 值爲null
什麼時候將變量賦值爲null?
初始化賦值:將要作爲引用變量使用, 但對象還沒有確定
結束時:將變量指向的對象成爲垃圾對象
嚴格區別變量類型與數據類型?
js的變量本身是沒有類型的,
變量的類型實際上是變量內存中數據的類型
變量類型:
基本類型:保存基本類型數據的變量
引用類型:保存對象地址值的變量
數據對象
基本類型
對象類型