1、六種基本數據類型
- undefined
- null
- string
- number(注意:NaN)
- boolean
- symbol(ES6)
2、一種引用類型
- Object(包括Array和Function)
3、檢測方式
1)undefined、string、number、boolean、symbol、object、function都可通過typeof(..)來檢測
2)null檢測方式:a === null
3)Array檢測方式:Array.isArray([...])
4)萬金油方法:Object.prototype.toString.call() 該方法返回 "[object type]", 其中type是對象類型
4、取值方式
- 基礎數據類型都是按值訪問
-
引用類型的值都是按引用訪問的。這裏的引用,我們可以粗淺地理解爲保存在變量對象中的一個地址,該地址與堆內存的實際值相關聯。
5、null和undefined區別
- 基本沒區別,都表示“無”
- 細微區別:
null表示"沒有對象",即該處不應該有值。典型用法是:
(1) 作爲函數的參數,表示該函數的參數不是對象。
(2) 作爲對象原型鏈的終點。
undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義。典型用法是:
(1)變量被聲明瞭,但沒有賦值時,就等於undefined。
(2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。
(3)對象沒有賦值的屬性,該屬性的值爲undefined。
(4)函數沒有返回值時,默認返回undefined。