欧美一级精品免费播放-亚洲精品久久久久久人妖-中文字幕一区二区精品在线-国产精品亚洲一区二区在 色天天综合色天天久久婷婷_日韩綜合网_精品国产香蕉伊思人在线_99视频国产在线观看播放

注冊|登錄

聯(lián)系電話:024-31891684  13390130939
沈陽軟件公司--沈陽軟件定制

沈陽軟件開發(fā)_沈陽軟件公司_沈陽軟件定制/軟件/最新技術(shù)

Latest technology最新技術(shù)

as 3的基本語法

瀏覽量:4285

as3 的值和引用這兩者比較有關(guān)系的是“賦值”和“函數(shù)傳參”兩個行為,期間又需要分“基元類型”和“對象”來討論。

我們知道as語言中所有的數(shù)據(jù)類型都繼承自O(shè)bject,包括基元數(shù)據(jù)類型,但是在值和引用操作時它們的確需要區(qū)別對待。

我們將基元數(shù)據(jù)類型稱為“非結(jié)構(gòu)對象”,與之對應(yīng)的其他Object稱為“結(jié)構(gòu)對象”。

下面將進(jìn)行幾種實驗,結(jié)論大概就是

1、 基元數(shù)據(jù)類型按照值操作,代表基元數(shù)據(jù)的非結(jié)構(gòu)對象也是按照值操作的。

2、 結(jié)構(gòu)對象一般按照“引用”操作,但需要注意交換賦值的情況

3、As3中的“引用”操作其實不是真正意義上的引用,只是類似于“指針”傳遞的一種偽“引用”。As3中所有操作底層意義都是值操作,只不過針對結(jié)構(gòu)對象時是“指針”值的值操作。

4、As3中的函數(shù)傳參,對基元類型相當(dāng)于新副本的值操作。對結(jié)構(gòu)對象,相當(dāng)于“指針”值新副本的值操作。

5、 必要的時候使用深層次拷貝操作,特別是在多層次框架結(jié)構(gòu)中。

=================

基元類型(包括Boolean、Number、int、uint 和String)

賦值:按照值操作。

var a:int=3;

var b:int=a;

b=6;

trace(a,b);// 3 6 即b的改變不會帶來a的改變

函數(shù)傳參:按照值操作

var a:int=3;

function f1(b:int):void{

b=6;

}

f1(a);

trace(a);//3 即在函數(shù)內(nèi)部生成了新副本,其變化不會帶來a的改變

與前面的賦值操作是等價一致的

=================

對象Object

賦值:按照引用操作

var a:Object={x:1,y:2};

var b:Object=a;

b.x=6;

trace(a.x);//6 即b的改變會帶來a的改變

—-下面模擬復(fù)雜對象賦值—

var c:Object={i:10,j:11}

var a:Object={x:1,y:c};

var d:Object=a.y;

var b:Object=a;

d.i=6;

trace(a.y.i);//6

trace(b.y.i);//6 這里需要格外注意,as3的引用行為是無孔不入的,自定義對象的子對象遭遇引用操作,特別是多層架構(gòu)中,隱蔽的引用操作會帶來意想不到的問題。

沈陽團(tuán)購網(wǎng)|營口網(wǎng)站制作|沈陽軟件公司|軟件定制|網(wǎng)站建設(shè)|加盟易勢|提交問題