AS3語言基本知識

AS3中基本數據類型概述:
和其他面向對象一樣,AS3中的數據類型也分爲基本數據類型和複雜數據類型。這兩種不僅僅是概念上的區分,在使用上也有很的區分。

1:基本數據類型:
我們在編程時頻繁使用到的複雜數據類型。例如:數字,真假,文字。有些編程經驗的人都知道,這是語言的基本構成單元。AS3中預定義的基本元素類型共有:Boolean ,number,int,String,unit:
其中int,number,uint是處理整型的。int一般情況是用來定義整型的。number使用來出來很長又有小數的數字。unit處理很大的正整數。其他的跟java語言的用法一樣
2:複雜的數據類型:
簡單的複雜的數據類型是相對於基本數據類型而言的。簡單的複雜數據類型就是由很多的簡單的基本數據類型構成的:例如:Array.高級的複雜數據類型。其組成元素也是複雜的數據類型。比如:OBJECT對象他包含3個Array.經常用到的複雜的數據類型有:Array,Data,
Error,Function,RegExp和XMLList.例外我們自己定義的類也全部屬於複雜數據類型
2:變量的聲明和使用:
初學者往往以爲變量就是數據,實際上並不是這樣的。變量好比是一個遙控器,指向我們要操作的數據。對變量進行操作,變量指向的數據也會發生變換:
變量必須先聲明在使用,不然編譯器會報錯。就好比一個沒有名字的遙控器我們對他怎麼進行操作呢?
3:聲明變量的語法:
var 變量名:數據類型;
var 變量名:數據類型=值:

這點跟JAVA語言不一樣:java語言必須試數據類型而言才能進行定義變量:例如:定義整型變量:
int 變量名=值;但是在AS3中這種弱類型的情況下我們用VAR進行聲明變量的操作:

*4:變量的本質
之前說過,在AS3中,所有數據類型都是對象;我們通過變量來操作對象。變量與對象是怎麼聯繫?變量持有引用。而引用則指向要操作的對象。因此。實際上我們是通過引用來操作對象。這句話很抽象:打個比喻吧:引用好比是一個遙控器,變量是遙控器的名字。引用可以直接遙控到要操作在內存中的對象》
5:值類型和引用類型:
AS3中變量只有引用,指向要操作的對象。和JAVA中不同。AS3中變量本身是不能持有值的。在AS3中,值類型變量只有的是最想類型數據的引用:引用類型的變量持有的是想引用類型數據的引用。不要忘記,不論是值類型換是引用類型。是實質都是對象。值類型就是前面所說的基本數據類型。引用類型就是前面說的複雜數據類型。所不同的是。值類型是一種不變的對象。
6:基本數據類型的討論:

在java中值類型並不是以對象的形式存在的。值類型變量,存儲的不是引用,而是直接容納了具體的值。在AS3中則不一樣。因爲本質上,值類型仍然是對象。那麼即使是值類型,存儲的仍然是引用。而不是直接持有值。但是值類型是一種特殊的對象==不變對象。正是這種對象的特殊行爲導致了我們對值類型跟引用類型的操作不同。

舉個簡單的例子:
var aname:int=1;
aname=aname+2;

第一行創建了一個int類型的不便對象A出來,它的值是1,並賦給了變量。aname,第二行加上了一個整型值2,改變了aname的值。但是,不變對象A並沒有改變。實際上發生的事兒是:第二行的結果是導致了一個新的整形值不變對象B的創建。B的值爲3,然後不便對象B的引用被賦給了aname。換句話說,此時aname只有的引用不在是指向不變對象A,而是指向新的創建的不變對象B,此時AVM會回收不便對象A。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章