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