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