天天看點

Flash互動網站設計學習-Actionscript3.0基礎

 Actionscript3.0用于網站的互動和資料處理。

當面臨一堆資料時,我們很難厘清,我們可以定義變量來給這些資料一一取名。

Var tempText:String="abc"; 

Trace(tempText); 

控制台會正确的輸出abc

Var temText; 

trace(temText); 

這樣輸出的結果會是undefined,表示沒有給變量指派并沒有找到資料類型。

Var temText:String; 

這樣輸出的結果會是null,表示沒有給變量指派。

資料類型:

在Actionscript3.0中,資料類型分為基中繼資料類型和複雜資料類型。

基中繼資料類型:Boolean、int、NULL、Number(主要用于浮點數)、String、uint(非負整數)和void等

複雜資料類型:Object、Array、Date、Error、Function、RegExp、XML、XMLLIST等

看下面的例子:

Var A:uint=100; 

Var B:uint=A; 

B=500; 

trace("A的值:"+A); 

trace("B的值:"+B); 

控制台輸出結果:

A的值:100

B的值:500

上面是基礎資料類型的,發現最後輸出的A、B值不同,好,下面看複雜資料類型的:

Var _a:Array=new Array(1,2,3); 

Var _b:Array=_a; 

_b.push(100); 

trace("_a的内容為:"+_a); 

trace("_b的内容為:"+_b); 

輸出的結果是:

_a的内容為:1,2,3,100

_b的内容為:1,2,3,100

發現兩者的結果是一樣。這是因為基礎資料類型可以被看做是一個值,每個值都作為一個不同的對象放在記憶體中,而複雜資料類型的變量名值是給這個資料提供一個引用的方式。也就是說如果将一個數組的變量名作為值賦予另一個數組,則會發生兩個變量同時對應一個數組的情況。我的猜想是基礎資料類型每個值都開辟了一個記憶體空間,而複雜資料類型屬于引用類型,當一個變量名作為值賦予另一個引用類型時,兩者指向同一個記憶體空間。

本文轉自shyy8712872 51CTO部落格,原文連結:http://blog.51cto.com/shuyangyang/986370,如需轉載請自行聯系原作者

繼續閱讀