1、基本數據類型:
一、number、string、boolean、null、undefined、symbol、object,七種數據類型。
二、簡單類型(基本類型)有number、string、boolean、null、undefined、symbol。
複雜類型由簡單類型組成,複雜類型爲object。ide
2、null和undefined區別:
一、都表示沒有值
二、變量沒賦值,就是undefiend
三、在if語句中,它們都會被自動轉爲false
四、對象聲明未賦值通常慣例是讓其值先爲null
五、非對象變量聲明不賦值,通常慣例是先讓其值爲nudefined,實際使用種直接聲明變量不賦值便可。【var 變量名】沒必要寫成【var 變量名 = nudefined】code
3、string轉義符、換行等問題:
代碼書寫多行字符串時(注意輸出仍是一行),建議用+,不建議用轉義符加空格方式,這樣不易閱讀。對象
var s = '123'+ '456' var s = '123\ 456' var s = '\'' s "'" var s = ''' VM178:1 Uncaught SyntaxError: Invalid or unexpected token
4、布爾值boolean的知識點:
一、boolean只有兩個值true或false
二、boolean用於條件判斷時,如下六種狀況都是視爲false
undefined
null
false
0
NaN
""或''(空字符串)token
5、number相關知識點:
一、JavaScript 內部實際上存在2個0:一個是+0,一個是-0,區別就是64位浮點數表示法的符號位不一樣。它們是等價的。
二、幾乎全部場合,正零和負零都會被看成正常的0。ip
-0 === +0 // true 0 === -0 // true 0 === +0 // true +0 // 0 -0 // 0 (-0).toString() // '0' (+0).toString() // '0'
三、惟一有區別的場合是,+0或-0看成分母,返回的值是不相等的。
(1 / +0) === (1 / -0) // false字符串
四、NaN(not a number)主要出如今將字符串解析成數字出錯的狀況下,NaN屬於數值類型,它不等於任何值包括它自己。NaN在布爾運算時被看成false,與任何值運算包括本身獲得的都是NaN。string
NaN === NaN // false Boolean(NaN) // false NaN + 32 // NaN NaN - 32 // NaN NaN * 32 // NaN NaN / 32 // NaN
6、object相關知識點:
一、object能夠嵌套變量
var person = { 'name': '小明', 'child': { 'name': 'son' } }
二、object 的 key 只能是字符串,不存在其餘類型的 key
三、object['key'] 能夠寫做 object.key
四、object.key 與 object[key] 不一樣object
五、object的key不加引號狀況下,需遵照標誌符規則(首字母不能是數字,不能加引號等等),若是加引號則能夠不遵照。數據類型
var obj = {9a:12}//不加引號對象key命名數字開頭 【報錯】Uncaught SyntaxError: Invalid or unexpected token var obj = {'9a':12} undefined var obj = {a b:'ab'}//不加引號對象key命名中間加空格 【報錯】Uncaught SyntaxError: Unexpected identifier var obj = {'a b':'ab'} undefined