常見Flex資料類型

來源:互聯網
上載者:User

    Flex資料類型說明

    基中繼資料類型包括Boolean、int、Null、Number、String、uint和void。ActionScript核心類還定義下列複雜資料類型:Object、Array、Date、Error、Function、RegExp、XML和XMLList。

    ◆Boolean資料類型

    Boolean資料類型包含兩個值:true和false。對於Boolean類型的變數,其它任何值都是無效的。已經聲明但尚未初始化的布爾變數的預設值是false。

    ◆int資料類型

    Flex資料類型中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資料類型

    Flex資料類型中Null資料類型僅包含一個值:null。這是String資料類型和用來定義複雜資料類型的所有類(包括Object類)的預設值。其它基中繼資料類型(如Boolean、Number、int和uint)均不包含null值。如果您嘗試向Boolean、Number、int或uint類型的變數賦予null,則FlashPlayer會將null值轉換為相應的預設值。不能將Null資料類型用作類型注釋。

    ◆Number資料類型

    在ActionScript3.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+308Number.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)之間的整數。
    FlashPlayer不但將NaN值用作Number類型的變數的預設值,而且還將其用作應返回數字、卻沒有返回數位任何運算的結果。例如,如果您嘗試計算負數的平方根,結果將是NaN。其它特殊的Number值包括"正無窮大"和"負無窮大"。

    注意

    在被0除時,如果被除數也是0,則結果只有一個,那就是NaN。在被0除時,如果被除數是正數,則結果為正無窮大;如果被除數是負數,則結果為負無窮大。

    ◆String資料類型

    String資料類型表示一個16位字元的序列。字串在內部儲存為Unicode字元,並使用UTF-16格式。字串是不可改變的值,就像在Java程式設計語言中一樣。對字串值執行運算會返回字串的一個新執行個體。用String資料類型聲明的變數的預設值是null。雖然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資料類型

    Flex資料類型中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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.