日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Flash AS3.0數(shù)據(jù)類型詳細(xì)介紹

 怪力亂神谷地 2010-04-03

數(shù)據(jù)類型的說明
基元數(shù)據(jù)類型包括 Boolean、int、Null、Number、String、uint  以及 void。

ActionScript  3.0核心類還有下列復(fù)雜數(shù)據(jù)類型:Object、Array、Date、Error、Function、RegExp、XML 以及 XMLList。

常用數(shù)據(jù)類型介紹:

Boolean 數(shù)據(jù)類型
Boolean 數(shù)據(jù)類型包含兩個(gè)值:true 和 false?;蛘呤? 和1 ,對于 Boolean 類型的變量,其它任何值都是無效的。已經(jīng)聲明但尚未初始化的布爾變量的默認(rèn)值是 false。

int 數(shù)據(jù)類型
int 數(shù)據(jù)類型在內(nèi)部存儲(chǔ)為 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ù)又可用于浮點(diǎn)數(shù)。在 ActionScript 3.0 中,現(xiàn)在可以訪問 32 位帶符號整數(shù)和無符號整數(shù)的低位機(jī)器類型。如果您的變量將不會(huì)使用浮點(diǎn)數(shù),那么,如果某變量永遠(yuǎn)是正整數(shù),那么該變量使用 int 數(shù)據(jù)類型來代替 Number 數(shù)據(jù)類型應(yīng)會(huì)更快更高效。

對于小于 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ù)類型僅包含一個(gè)值:null。這是 String 數(shù)據(jù)類型和用來定義復(fù)雜數(shù)據(jù)類型的所有類(包括 Object 類)的默認(rèn)值。其它基元數(shù)據(jù)類型(如 Boolean、Number、int 和 uint)均不包含 null 值。如果您嘗試向 Boolean、Number、int 或 uint 類型的變量賦予 null,則 Flash Player 會(huì)將 null 值轉(zhuǎn)換為相應(yīng)的默認(rèn)值。不能將 Null 數(shù)據(jù)類型用作類型注釋。

Number 數(shù)據(jù)類型
ActionScript 3.0 中,Number 數(shù)據(jù)類型可以表示整數(shù)、無符號整數(shù)和浮點(diǎn)數(shù)。但是,為了盡可能提高性能,應(yīng)將 Number 數(shù)據(jù)類型僅用于浮點(diǎn)數(shù),或者用于 int 和 uint 類型可以存儲(chǔ)的、大于 32 位的整數(shù)值。要存儲(chǔ)浮點(diǎn)數(shù),數(shù)字中應(yīng)包括一個(gè)小數(shù)點(diǎn)。如果您省略了小數(shù)點(diǎn),數(shù)字將存儲(chǔ)為整數(shù)。

Number 數(shù)據(jù)類型使用由 IEEE 二進(jìn)制浮點(diǎn)算術(shù)標(biāo)準(zhǔn) (IEEE-754) 指定的 64 位雙精度格式。此標(biāo)準(zhǔn)規(guī)定如何使用 64 個(gè)可用位來存儲(chǔ)浮點(diǎn)數(shù)。其中的 1 位用來指定數(shù)字是正數(shù)還是負(fù)數(shù)。11 位用于指數(shù),它以二進(jìn)制的形式存儲(chǔ)。其余的 52 位用于存儲(chǔ)"有效位數(shù)"(又稱為"尾數(shù)"),有效位數(shù)是 2 的 N 次冪,N 即前面所提到的指數(shù)。

可以將 Number 數(shù)據(jù)類型的所有位都用于有效位數(shù),也可以將 Number 數(shù)據(jù)類型的某些位用于存儲(chǔ)指數(shù),后者可存儲(chǔ)的浮點(diǎn)數(shù)比前者大得多。例如,如果 Number 數(shù)據(jù)類型使用全部 64 位來存儲(chǔ)有效位數(shù),則它可以存儲(chǔ)的最大數(shù)字為 265 - 1。如果使用其中的 11 位來存儲(chǔ)指數(shù),則 Number 數(shù)據(jù)類型可以存儲(chǔ)的最大有效數(shù)字為 21023。

Number 類型可以表示的最小值和最大值存儲(chǔ)在 Number 類的名為 Number.MAX_VALUE 和 Number.MIN_VALUE 的靜態(tài)屬性中。

Number.MAX_VALUE == 1.79769313486231e+308
Number.MIN_VALUE == 4.940656458412467e-324


盡管這個(gè)數(shù)字范圍很大,但代價(jià)是此范圍的精度有 所降低。Number 數(shù)據(jù)類型使用 52 位來存儲(chǔ)有效位數(shù),因此,那些要求用 52 位以上的位數(shù)才能精確表示的數(shù)字(如分?jǐn)?shù) 1/3)將只是近似值。如果應(yīng)用程序要求小數(shù)達(dá)到絕對精度,則需要使用實(shí)現(xiàn)小數(shù)浮點(diǎn)算術(shù)(而非二進(jìn)制浮點(diǎn)算術(shù))的軟件。

如果用 Number 數(shù)據(jù)類型來存儲(chǔ)整數(shù)值,則僅使用 52 位有效位數(shù)。Number 數(shù)據(jù)類型使用 52 位和一個(gè)特殊的隱藏位來表示介于 -9,007,199,254,740,992 (-253) 和 9,007,199,254,740,992 (253) 之間的整數(shù)。

Flash Player 不但將 NaN 值用作 Number 類型的變量的默認(rèn)值,而且還將其用作應(yīng)返回?cái)?shù)字、卻沒有返回?cái)?shù)字的任何運(yùn)算的結(jié)果。例如,如果您嘗試計(jì)算負(fù)數(shù)的平方根,結(jié)果將是 NaN。其它特殊的 Number 值包括"正無窮大"和"負(fù)無窮大"。

注意
 
 在被 0 除時(shí),如果被除數(shù)也是 0,則結(jié)果只有一個(gè),那 就是 NaN。在被 0 除時(shí),如果被除數(shù)是正數(shù),則結(jié)果為正無窮大;如果被除數(shù)是負(fù)數(shù),則結(jié)果為負(fù)無窮大。
 

String 數(shù)據(jù)類型
String 數(shù)據(jù)類型表示一個(gè) 16 位字符的序列。字符串在內(nèi)部存儲(chǔ)為 Unicode 字符,并使用 UTF-16 格式。字符串是不可改變的值,就像在 Java 編程語言中一樣。對字符串值執(zhí)行運(yùn)算會(huì)返回字符串的一個(gè)新實(shí)例。用 String 數(shù)據(jù)類型聲明的變量的默認(rèn)值是 null。雖然 null 值與空字符串 ("") 均表示沒有任何字符,但二者并不相同。 

uint 數(shù)據(jù)類型
uint 數(shù)據(jù)類型在內(nèi)部存儲(chǔ)為 32 位無符號整數(shù),它包含 一組介于 0 和 4,294,967,295 (232- 1) 之間的整數(shù)(包括 0 和 4,294,967,295)。uint 數(shù)據(jù)類型可用于要求非負(fù)整數(shù)的特殊情形。例如,必須使用 uint 數(shù)據(jù)類型來表示像素顏色值,因?yàn)?int 數(shù)據(jù)類型有一個(gè)內(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ù)類型僅包含一個(gè)值:undefined。在早期的 ActionScript 版本中,undefined 是 Object 類實(shí)例的默認(rèn)值。在 ActionScript 3.0 中,Object 實(shí)例的默認(rèn)值是 null。如果您嘗試將值 undefined 賦予 Object 類的實(shí)例,F(xiàn)lash Player 會(huì)將該值轉(zhuǎn)換為 null。您只能為無類型變量賦予 undefined 這一值。無類型變量是指缺乏類型注釋或者使用星號 (*) 作為類型注釋的變量。只能將 void 用作返回類型注釋。

Object 數(shù)據(jù)類型
Object 數(shù)據(jù)類型是由 Object 類定義的。Object  類用作 ActionScript 中的所有類定義的基類。ActionScript 3.0 中的 Object 數(shù)據(jù)類型與早期版本中的 Object 數(shù)據(jù)類型存在以下三方面的區(qū)別:第一,Object 數(shù)據(jù)類型不再是指定給沒有類型注釋的變量的默認(rèn)數(shù)據(jù)類型。第二,Object 數(shù)據(jù)類型不再包括 undefined 這一值,該值以前是 Object 實(shí)例的默認(rèn)值。第三,在 ActionScript 3.0 中,Object 類實(shí)例的默認(rèn)值是 null。

在早期的 ActionScript 版本中,會(huì)自動(dòng)為沒有類型注釋的變量賦予 Object 數(shù)據(jù)類型。ActionScript 3.0 現(xiàn)在包括真正無類型變量這一概念,因此不再為沒有類型注釋的變量賦予 Object 數(shù)據(jù)類型。沒有類型注釋的變量現(xiàn)在被視為無類型變量。如果您希望向代碼的讀者清楚地表明您是故意將變量保留為無類型,可以使用新的星號 (*) 表示類型注釋,這與省略類型注釋等效。下面的示例顯示兩條等效的語句,兩者都聲明一個(gè)無類型變量 x:

var x
var x:*


只有無類型變量才能保存值 undefined。如果您嘗試將值 undefined 賦給具有數(shù)據(jù)類型的變量,F(xiàn)lash Player 會(huì)將該值 undefined 轉(zhuǎn)換為該數(shù)據(jù)類型的默認(rèn)值。對于 Object 數(shù)據(jù)類型的實(shí)例,默認(rèn)值是 null,這意味著,如果嘗試將 undefined 賦給 Object 實(shí)例,F(xiàn)lash Player 會(huì)將值 undefined 轉(zhuǎn)換為 null。


    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多