Flex3教程 AS2和AS3變量的轉(zhuǎn)換
本文和大家重點(diǎn)討論一下Flex3教程 AS2和AS3變量的轉(zhuǎn)換,和類(lèi)、方法的變化類(lèi)似,變量也增加了protected,internal修飾符,作用和類(lèi)、方法的同名修飾作用相同,final關(guān)鍵字不能用來(lái)修飾變量,這和Java不同,取而代之的是一個(gè)替代var的const關(guān)鍵字,用來(lái)標(biāo)識(shí)常量,比如constN:int=100;這和C/C++類(lèi)似。
Flex3教程 AS2和AS3變量的轉(zhuǎn)換
變量(Variable)的轉(zhuǎn)換
和類(lèi)、方法的變化類(lèi)似,變量也增加了protected,internal修飾符,作用和類(lèi)、方法的同名修飾作用相同,這里就不重復(fù)說(shuō)明了。final關(guān)鍵字不能用來(lái)修飾變量,這和Java不同,取而代之的是一個(gè)替代var的const關(guān)鍵字,用來(lái)標(biāo)識(shí)常量,比如constN:int=100;這和C/C++類(lèi)似。
還有一個(gè)變化是,AS3引入了新的類(lèi)型*,*代表任意類(lèi)型(即不作類(lèi)型檢查),雖然AS3中,也可以對(duì)變量以及方法返回類(lèi)型作不申明的設(shè)置,但是FlexBuilder會(huì)出警告,因?yàn)锳S3相對(duì)AS2來(lái)說(shuō)更靜態(tài),所以不建議省略類(lèi)型申明,如果你實(shí)在需要不做類(lèi)型檢查,那么就使用*,比如vardynamicProperty:*;dynamicProperty將可以被賦予任何類(lèi)型的值,functionmethod():*將可以返回任何類(lèi)型的值。
◆另一個(gè)重要的地方是,F(xiàn)lex3教程中變量的初始值與AS2不同,這在轉(zhuǎn)換的時(shí)候要小心,對(duì)于AS2,變量在賦值之前,都等于undefined,而AS3中,不同的類(lèi)型初始值分別如下:
Datatype
Defaultvalue
Boolean
false
int
0
Number
NaN
Object
null
String
null
uint
0
◆Flex3教程中未申明類(lèi)型(等同于*類(lèi)型)
undefined
其他的類(lèi)型,包括用戶自定義類(lèi).
null
所以,這里得小心了,int,Number,uint,Boolean等類(lèi)型的變量將不可能具有null或者undefined的值。
【編輯推薦】