類型相對比較簡單。數(shù)字,字符串,布爾值,關(guān)鍵的兩個是null和undefined, 這兩個類型是不一樣的。但是null==undefined結(jié)果為true。
數(shù)字中不區(qū)分浮點數(shù)和整型,但是提供了無窮大或者無窮小這種數(shù),還有NaN,非數(shù)值。這樣的話,除0這種基本都會報錯的情況就不會出錯了。要注意的是NaN != NaN, 這個是特殊的。
字符串常用的方法要在平時多使用才能記住,應(yīng)該有查詢的。這里正則提供了字面量可能得注意一下,其實是一個自動封裝的類,RegExp。
數(shù)字,字符串,布爾都提供了對應(yīng)的類,Number,String, Boolean,調(diào)用方法時自動轉(zhuǎn)換為對應(yīng)的類,然后釋放。
類型轉(zhuǎn)換過于隨意,導致js支持的類型轉(zhuǎn)換難于理解。還會盡量用同一種類型做操作,這是一個好習慣。提供一張轉(zhuǎn)換表:

對象轉(zhuǎn)換為原始值中toString()和valueOf()還是比較令人煩躁的。所以再一次建議使用同一種類型進行操作。
變量主要在于作用域,js使用了函數(shù)作用域,而且不區(qū)分前后順序,同一作用域下的后聲明的變量在聲明之前就可以使用。這種作用域也可以用于隱藏特定的變量,使其只能被某個函數(shù)訪問。有那么個閉包的意思。