在Javascript中只有五種簡單類型,分別為null,undefined,boolean,String和Number.一種復(fù)雜類型:object。
代碼類型只有一種形式就是function。
undefined:未定義,我們也可稱之為不存在,typeof(undefined)=undefined.
null:為空。undefined是不存在,而null是存在,但卻無。typeof(null)=object,但null又不是object,這就是null的神奇而獨特之處。
boolean:true or false。
Number:NaN和Infinity是兩個特殊之?dāng)?shù),NaN代表一個無法用數(shù)值來表示的數(shù)字,而Infinity代表一個無窮大的數(shù)字,相對的,-Infinify則代表負(fù)無窮大。在此有兩點特殊的地方:NaN!=NaN,Infinity/Infinity=NaN。在Number類型中,有個非常有用的方法:ToString(),他可以接受一個從2到36的數(shù)字,然后把我們的Number轉(zhuǎn)換為相應(yīng)的進(jìn)制數(shù)。
String:字符串,Javascript中沒有字符的概念,字符串是表示文本的最小單位。在字符串中,有這樣的兩個函數(shù),分別是charAt(index)和charCodeAt(index)分別返回對應(yīng)索引的字符和字符Unicode編碼。在我們平時,可能經(jīng)常會使用下標(biāo)的方式訪問,如s[10],可是這并不是ECMAScript的標(biāo)準(zhǔn),應(yīng)該盡量避免。
Javascript的一切類型都是基于這五個簡單類型向上搭建。這五個類型之間又有著萬千復(fù)雜的關(guān)系,undefined,null,0,“”轉(zhuǎn)換為boolean時就是false,而除去這四個外,所有的都為true。但是在這五個當(dāng)中,除了undefined==null,其他又都不相等。
我們在此又有著這樣和強類型語言不通之處,例如123==“123”。那么我們?nèi)绾文軌騾^(qū)分類型呢?這個時候:全等于:===就發(fā)揮了用場。
更多信息請查看IT技術(shù)專欄