類型相對(duì)比較簡(jiǎn)單盗迟。數(shù)字,字符串熙含,布爾值罚缕,關(guān)鍵的兩個(gè)是null和undefined, 這兩個(gè)類型是不一樣的。但是null==undefined結(jié)果為true怎静。
數(shù)字中不區(qū)分浮點(diǎn)數(shù)和整型邮弹,但是提供了無(wú)窮大或者無(wú)窮小這種數(shù),還有NaN蚓聘,非數(shù)值腌乡。這樣的話,除0這種基本都會(huì)報(bào)錯(cuò)的情況就不會(huì)出錯(cuò)了夜牡。要注意的是NaN != NaN导饲, 這個(gè)是特殊的。
字符串常用的方法要在平時(shí)多使用才能記住氯材,應(yīng)該有查詢的渣锦。這里正則提供了字面量可能得注意一下,其實(shí)是一個(gè)自動(dòng)封裝的類氢哮,RegExp袋毙。
數(shù)字,字符串冗尤,布爾都提供了對(duì)應(yīng)的類听盖,Number,String, Boolean裂七,調(diào)用方法時(shí)自動(dòng)轉(zhuǎn)換為對(duì)應(yīng)的類皆看,然后釋放。
類型轉(zhuǎn)換過(guò)于隨意背零,導(dǎo)致js支持的類型轉(zhuǎn)換難于理解腰吟。還會(huì)盡量用同一種類型做操作,這是一個(gè)好習(xí)慣。提供一張轉(zhuǎn)換表:
對(duì)象轉(zhuǎn)換為原始值中toString()和valueOf()還是比較令人煩躁的毛雇。所以再一次建議使用同一種類型進(jìn)行操作嫉称。
變量主要在于作用域,js使用了函數(shù)作用域灵疮,而且不區(qū)分前后順序织阅,同一作用域下的后聲明的變量在聲明之前就可以使用。這種作用域也可以用于隱藏特定的變量震捣,使其只能被某個(gè)函數(shù)訪問(wèn)荔棉。有那么個(gè)閉包的意思。