Flex數據類型

我們在寫FLEX程序時,總是會碰到關於Flex數據類型的問題,在網上看了一些文章,感覺總結的挺不錯的,就記錄一下。

基元數據類型包括:

1. Boolean

2. int、Null、   

3. Number
4. String
5. uint    
6.  void  
ActionScript核心類還定義下列複雜數據類型: 
1. Object
2. Array
3. Date
4. Error
5. Function 
6. RegExp

7. 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 數據類型,該
數據類型既可用於整數又可用於浮點數。在 ActionScript 3.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 ,則 Flash Player 會將 null 值轉換爲相應的默認值。不能將 Null 
數據類型用作類型註釋。 
Number 數據類型 
在 ActionScript 3.0 中,Number 數據類型可以表示整數、無符號整數和浮點數。但是,爲了儘可能提高性能,應
將 Number 數據類型僅用於浮點數,或者用於 int 和 uint 類型可以存儲的、大於 32 位的整數值。要存儲浮點數
,數字中應包括一個小數點。如果您省略了小數點,數字將存儲爲整數。 
Number 數據類型使用由 IEEE 二進制浮點算術標準 (IEEE-754) 指定的 64 位雙精度格式。此標準規定如何使用 64 
個可用位來存儲浮點數。其中的 1 位用來指定數字是正數還是負數。11 位用於指數,它以二進制的形式存儲。其餘
的 52 位用於存儲"有效位數"(又稱爲"尾數"),有效位數是 2 的 N 次冪,N 即前面所提到的指數。 
可以將 Number 數據類型的所有位都用於有效位數,也可以將 Number 數據類型的某些位用於存儲指數,後者可存儲
的浮點數比前者大得多。例如,如果 Number 數據類型使用全部 64 位來存儲有效位數,則它可以存儲的最大數字爲 
265 - 1。如果使用其中的 11 位來存儲指數,則 Number 數據類型可以存儲的最大有效數字爲 21023 。 
Number 類型可以表示的最小值和最大值存儲在 Number 類的名爲 Number.MAX_VALUE 和 Number.MIN_VALUE 的靜態
屬性中。 
Number.MAX_VALUE == 1.79769313486231e+308 Number.MIN_VALUE == 4.940656458412467e-324儘管這個數字範圍很
大,但代價是此範圍的精度有所降低。Number 數據類型使用 52 位來存儲有效位數,因此,那些要求用 52 位以上
的位數才能精確表示的數字(如分數 1/3)將只是近似值。如果應用程序要求小數達到絕對精度,則需要使用實現小
數浮點算術(而非二進制浮點算術)的軟件。 
如果用 Number 數據類型來存儲整數值,則僅使用 52 位有效位數。Number 數據類型使用 52 位和一個特殊的隱藏
位來表示介於 -9,007,199,254,740,992 (-253 ) 和 9,007,199,254,740,992 (253 ) 之間的整數。 
Flash Player 不但將 NaN 值用作 Number 類型的變量的默認值,而且還將其用作應返回數字、卻沒有返回數字的任
何運算的結果。例如,如果您嘗試計算負數的平方根,結果將是 NaN 。其它特殊的 Number 值包括"正無窮大"和"負
無窮大"。 

注意 

在被 0 除時,如果被除數也是 0 ,則結果只有一個,那就是 NaN 。在被 0 除時,如果被除數是正數,則結果爲
正無窮大 ;如果被除數是負數,則結果爲負無窮大 。 
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 類實例的默認
值。在 ActionScript 3.0 中,Object 實例的默認值是 null 。如果您嘗試將值 undefined 賦予 Object 類的實例
,Flash Player 會將該值轉換爲 null 。您只能爲無類型變量賦予 undefined 這一值。無類型變量是指缺乏類型注
釋或者使用星號 (* ) 作爲類型註釋的變量。只能將 void 用作返回類型註釋。 
Object 數據類型 
Object 數據類型是由 Object 類定義的。Object 類用作 ActionScript 中的所有類定義的基類。ActionScript 3.0 
中的 Object 數據類型與早期版本中的 Object 數據類型存在以下三方面的區別:第一,Object 數據類型不再是指
定給沒有類型註釋的變量的默認數據類型。第二,Object 數據類型不再包括 undefined 這一值,該值以前是 
Object 實例的默認值。第三,在 ActionScript 3.0 中,Object 類實例的默認值是 null 。 
在早期的 ActionScript 版本中,會自動爲沒有類型註釋的變量賦予 Object 數據類型。ActionScript 3.0 現在包
括真正無類型變量這一概念,因此不再爲沒有類型註釋的變量賦予 Object 數據類型。沒有類型註釋的變量現在被視
爲無類型變量。如果您希望向代碼的讀者清楚地表明您是故意將變量保留爲無類型,可以使用新的星號 (* ) 表示類
型註釋,這與省略類型註釋等效。下面的示例顯示兩條等效的語句,兩者都聲明一個無類型變量 x : 
var x   
var x:*  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章