Flex數據類型及其用法簡介
你對Flex數據類型的概念是否熟悉,這里和大家分享一下,在Flex中基元數據類型包括Boolean、int、Null、Number、String、uint和void。ActionScript核心類還定義下列復雜數據類型:Object、Array、Date、Error、Function、RegExp、XML和XMLList。
Flex數據類型
數據類型說明
基元數據類型包括Boolean、int、Null、Number、String、uint和void。ActionScript核心類還定義下列復雜數據類型:Object、Array、Date、Error、Function、RegExp、XML和XMLList。
◆Boolean數據類型
Boolean數據類型包含兩個值:true和false。對于Boolean類型的變量,其它任何值都是無效的。已經聲明但尚未初始化的布爾變量的默認值是false。
◆int數據類型
int數據類型在內部存儲為32位整數,它包含一組介于-2,147,483,648(-231)和2,147,483,647(231-1)之間的整數(包括-2,147,483,648和2,147,483,647)。早期的ActionScript版本僅提供Number數據類型,該數據類型既可用于整數又可用于浮點數。在ActionScript3.0中,現在可以訪問32位帶符號整數和無符號整數的低位機器類型。如果您的變量將不會使用浮點數,那么,使用int數據類型來代替Number數據類型應會更快更高效。
對于小于int的最小值或大于int的最大值的整數值,應使用Number數據類型。Number數據類型可以處理-9,007,199,254,740,992和9,007,199,254,740,992(53位整數值)之間的值。int數據類型的變量的默認值是0。
◆Null數據類型
Null數據類型僅包含一個值:null。這是String數據類型和用來定義復雜數據類型的所有類(包括Object類)的默認值。其它基元數據類型(如Boolean、Number、int和uint)均不包含null值。如果您嘗試向Boolean、Number、int或uint類型的變量賦予null,則FlashPlayer會將null值轉換為相應的默認值。不能將Null數據類型用作類型注釋。
◆String數據類型
String數據類型表示一個16位字符的序列。字符串在內部存儲為Unicode字符,并使用UTF-16格式。字符串是不可改變的值,就像在Java編程語言中一樣。對字符串值執行運算會返回字符串的一個新實例。用String數據類型聲明的變量的默認值是null。雖然null值與空字符串("")均表示沒有任何字符,但二者并不相同。
◆uint數據類型
uint數據類型在內部存儲為32位無符號整數,它包含一組介于0和4,294,967,295(232-1)之間的整數(包括0和4,294,967,295)。uint數據類型可用于要求非負整數的特殊情形。例如,必須使用uint數據類型來表示像素顏色值,因為int數據類型有一個內部符號位,該符號位并不適合處理顏色值。對于大于uint的最大值的整數值,應使用Number數據類型,該數據類型可以處理53位整數值。uint數據類型的變量的默認值是0。
◆void數據類型
void數據類型僅包含一個值:undefined。在早期的ActionScript版本中,undefined是Object類實例的默認值。在ActionScript3.0中,Object實例的默認值是null。如果您嘗試將值undefined賦予Object類的實例,FlashPlayer會將該值轉換為null。您只能為無類型變量賦予undefined這一值。無類型變量是指缺乏類型注釋或者使用星號(*)作為類型注釋的變量。只能將void用作返回類型注釋。
◆Object數據類型
Object數據類型是由Object類定義的。Object類用作ActionScript中的所有類定義的基類。ActionScript3.0中的Object數據類型與早期版本中的Object數據類型存在以下三方面的區別:第一,Object數據類型不再是指定給沒有類型注釋的變量的默認數據類型。第二,Object數據類型不再包括undefined這一值,該值以前是Object實例的默認值。第三,在ActionScript3.0中,Object類實例的默認值是null。
在早期的ActionScript版本中,會自動為沒有類型注釋的變量賦予Object數據類型。ActionScript3.0現在包括真正無類型變量這一概念,因此不再為沒有類型注釋的變量賦予Object數據類型。沒有類型注釋的變量現在被視為無類型變量。如果您希望向代碼的讀者清楚地表明您是故意將變量保留為無類型,可以使用新的星號(*)表示類型注釋,這與省略類型注釋等效。下面的示例顯示兩條等效的語句,兩者都聲明一個無類型變量x:
◆varx
varx:*
只有無類型變量才能保存值undefined。如果您嘗試將值undefined賦給具有數據類型的變量,FlashPlayer會將該值undefined轉換為該數據類型的默認值。對于Object數據類型的實例,默認值是null,這意味著,如果嘗試將undefined賦給Object實例,FlashPlayer會將值undefined轉換為null。
【編輯推薦】