第一部分 Javascript 基礎 第1節 javascript 數據類型

javascript 數據類型 (引用了《悟透 javascript 》的內容

1,簡單數據類型

undefined

undefined: 表明一切未知的事物,什麼也不是,連"空"都不是,這種東西代碼沒法處理!
什麼叫沒法處理?
只要有undefined參與的運算最終的結果都不能使用 javascript

  1. var a; 
  2. alert("undefined+1="+(a+1));//NaN,undefined沒法解析,因而在數值運算中undefined就被解析爲NaN。
  3. alert("undefined*1="+(a*1));//NaN,undefined沒法解析,因而在數值運算中undefined就被解析爲NaN。
  4. alert("undefined+'str'="+(a+'str'));//undefinedstr,字符串也只能是把undefined打印出來了。

在真值判斷中undefined也被解釋爲false,這個什麼也不是的東西,是怎麼也不能解釋爲true的! java

  1. var a;if(a){...}else{//走這個}

但它倒是全局對象window的一個屬性[alert('undefined' in window);//true];
注意:它不是javascript的關鍵字,這也就意味着你能夠爲一個對象定義一個屬性名字爲"undefined"[obj.undefined=1],可是通常不建議這麼作。
typeof(undefined) 返回也是 undefined。
能夠將undefined賦值給任何變量或屬性,但並不意味了清除了該變量。
若是你從一個undefined的變量中讀取屬性的話,那就等着瀏覽器報錯吧。因此在程序中讀取不肯定的變量的屬性的時候必定要先判斷這個變量是否可用。 瀏覽器

  1. if(a){ 
  2. //....

null

null:空,不存在任何東西,可是程序能夠對他進行處理!
什麼叫能夠處理? spa

  1. var a=null; 
  2. alert("null+1="+(a+1));//1,這代表在數值運算中null被解析爲0
  3. alert("null*1="+(a*1));//0, 這代表在數值運算中null被解析爲0
  4. alert("null+'str'="+(a+'str'));//nullstr,把null打印出來

注意:typeof(null)返回object(爲何是object,這個真解釋不了,javascript就這麼定義的),但null並不是object,具備null值的變量也並不是object。
在真值運算中null被解釋爲false。[var a=null;if(a){...}else{//走這個}]. orm

boolean

boolean:再明確不過的東西,無需解釋。
注意:undefined,null,"",0,NaN在真值運算中都將解析成false!Infinity 卻被解析成true! 對象

number

number: 數字,包含內置對象,NaN和Infinity
注意:typeof(NaN)和typeof(Infinity)都返回number 。
NaN參與任何數值計算的結構都是NaN,並且 NaN != NaN 。Infinity / Infinity = NaN 。 ip

string

string: 字符串。任何東西和字符串作+運算都將獲得字符串。 字符串

2,複雜數據類型

object

複雜數據類型
object:在JavaScript中無論多麼複雜的數據和代碼,均可以組織成object形式的對象。 string

3,特殊的function類型

function

function
若是一個變量可以被執行,那麼能夠說這是一個function類型的對象。 it

相關文章
相關標籤/搜索