ActionScript3.0自學(xué)教程
自學(xué)ActionScript3.0,本身就是一件不容易的事情,如果不好好打好基礎(chǔ)的話是不行的。下面是陽光網(wǎng)小編給大家整理的ActionScript3.0自學(xué)教程,供大家參閱!
ActionScript3.0自學(xué)教程:使用數(shù)組和對(duì)象處理數(shù)據(jù)
12.1 使用Array類
12.1.1 創(chuàng)建數(shù)組
var sampleArray:Array=new Array();
12.1.2 向數(shù)組添加元素
數(shù)組的索引元素(指數(shù))是按照整數(shù)排序的值序列。在數(shù)組中可以通過指定索引位置存儲(chǔ)和檢索索引元素。使用Array類的toString()方法將所有元素使用逗號(hào)分隔開顯示。
多數(shù)編程語言只允許在一個(gè)數(shù)組中存儲(chǔ)同一類型的數(shù)據(jù)。而as允許一個(gè)數(shù)組中存儲(chǔ)多種類型的對(duì)象。
12.1.3 構(gòu)造數(shù)組的快捷方法
var carList:Array=new Array('he','he1');
var carList:Array=['he','he1'](數(shù)組字面量(array literal))
12.2 操作數(shù)組
12.2.1 向數(shù)組添加元素或從數(shù)組中移除元素
Array類有3個(gè)方法用于向數(shù)組添加元素:
push() 向數(shù)組的末尾添加元素
unshift() 向數(shù)組的開始位置添加元素(在0位置)
splice() 通過指定數(shù)組的一個(gè)索引刪除或者插入另一個(gè)元素。splice() 需要3個(gè)參數(shù):新元素添加的索引位置,需要?jiǎng)h除的元素(0代表沒有),以及想要添加的元素。
carList.splice(1,0,"hello","world");
12.2.3 從數(shù)組中移除或返回元素
每個(gè)用于刪除的方法在有需要的情況下,可以在將元素丟棄之前返回元素的值。
pop() 從數(shù)組刪除元素并返回最后的元素
shift() 從數(shù)組刪除并返回第一個(gè)元素
slice() 通過指定的索引位置從數(shù)組刪除并返回元素。slice()有兩個(gè)參數(shù):起始返回元素的索引位置和結(jié)束返回元素的索引位置。
如果沒有指定slice()方法的第二個(gè)參數(shù),將返回從起始參數(shù)之后的'所有元素。
將第一個(gè)參數(shù)值指定為負(fù)數(shù)則意味著,將數(shù)組末尾的指定元素個(gè)數(shù)向前切割。
12.2.4 遍歷數(shù)組
for..each 遍歷用于一個(gè)數(shù)組中的所有元素。
forEach()調(diào)用的函數(shù)從調(diào)用的方法處接受3個(gè)參數(shù)
elements:* 在循環(huán)中當(dāng)前索引位置元素的值
index:int 在循環(huán)中當(dāng)前索引元素的索引位置
arrary:Array forEach()方法的數(shù)組
arrayName.forEach(arrayFunction);
function arrayFunction(element:*,index:int,array:Array):void{
}
12.3 Object類和關(guān)聯(lián)數(shù)組
數(shù)組適用于存儲(chǔ)列式的數(shù)據(jù),最佳的做法是使用一致的分類或類型以保持?jǐn)?shù)組信息的一致性。
使用Object類的基本對(duì)象和關(guān)聯(lián)數(shù)組為每一項(xiàng)創(chuàng)建高級(jí)的數(shù)據(jù)結(jié)構(gòu),用于分類和存儲(chǔ)大量的信息。
12.3.1 Object類
Object類是所有對(duì)象的基礎(chǔ)。之所以要為數(shù)據(jù)結(jié)構(gòu)定義對(duì)象時(shí)因?yàn)閷⑵渥鳛樾畔⒌臄?shù)據(jù)桶,然后你可以為自定義對(duì)象設(shè)置屬性。
var obj:Object=new Object();
obj.firstName="tony";
var obj:Object=[firstName:"tony",lastName:"alva"];(對(duì)象字面量)
要檢索對(duì)象的屬性,只要直接調(diào)用對(duì)象的名稱跟上屬性名即可。
12.3.2 數(shù)組存取
使用數(shù)組的存取運(yùn)算符動(dòng)態(tài)設(shè)置和檢索對(duì)象屬性的值。使用數(shù)組存取副可以與使用對(duì)象的屬性一樣獲取存儲(chǔ)在變量中的值。
var newStater:String ="firstName"
var obj:Object = { firstName:"tony" }
trace(obj[newStater]);
同樣,也可以使用數(shù)組存取符設(shè)置和檢索對(duì)象的屬性
var obj:Object = new Object();
obj["stater" + 1] = "tony";
trace(obj[stater1])
最后,數(shù)據(jù)存取符允許向數(shù)組對(duì)象添加屬性并向關(guān)聯(lián)數(shù)組一樣使用屬性
var arr:Array = new Array();
arr["stater"] = "tony";
trace(arr["stater"])
12.3.3 關(guān)聯(lián)數(shù)組
使用Objec類的關(guān)聯(lián)數(shù)組,便可以存儲(chǔ)含有多個(gè)屬性的項(xiàng)目。當(dāng)將一個(gè)屬性對(duì)象傳給關(guān)聯(lián)數(shù)組對(duì)象時(shí),并沒有創(chuàng)建一個(gè)對(duì)象。同時(shí),可以使用花括號(hào)并給屬性對(duì)象設(shè)置索引,而不再需要其他對(duì)象。
var nameList:Object = new Object();
nameList.skater1 = { firstName:"tony", lastName:'Alva', age:'41' }
nameList.skater2 = { firstName:'John', lastName:'Chen', age:'42' }
for each(var prop:String in nameList) {
trace(prop.firstName);
trace(prop.lastName)
}
流程控制:循環(huán)和條件。
條件語句:if…else,if…else if,switch
循環(huán)語句:for,
for…in 對(duì)象、數(shù)組
for each…in XML、對(duì)象、數(shù)組
while
do…while
ActionScript3.0自學(xué)教程:創(chuàng)建條件語句
13.1條件語句
在as中,最基本的條件語句是if[...else if][...else]
13.1.1 關(guān)系和等于運(yùn)算符
> < == >= <= !=
13.1.2 在條件語句中檢查一個(gè)布爾類型的值
13.1.3 檢查多個(gè)條件
&& ||
13.1.4 基于對(duì)象的關(guān)系運(yùn)算符
條件邏輯也可用于驗(yàn)證一個(gè)變量的類型或者對(duì)象的類。要實(shí)現(xiàn)這些功能使用的是用于獲取變量類型的typeof運(yùn)算符以及用于檢車類實(shí)例的is運(yùn)算符。
13.1.5 使用一個(gè)事件處理器檢查多種事件類型
在一個(gè)對(duì)象中可以分發(fā)多種事件和事件類,并且多個(gè)對(duì)象也可分發(fā)同樣的事件。
如果你在一個(gè)事件處理器中使用條件邏輯,就可以處理從一個(gè)或多個(gè)對(duì)象分發(fā)的多種事件類和事件類型。每一個(gè)事件處理器有一個(gè)從事件分發(fā)者傳過來的事件對(duì)象。所有事件對(duì)象有一個(gè)屬性type。使用條件邏輯,就可以區(qū)分不同的事件類型,并且在一個(gè)事件處理器中處理他們。用一個(gè)方法將所有的事件處理器函數(shù)封裝起來,就可以將代碼簡化并且使得效率最高。
if(e.type==MouseEvent.MOUSE_OVER){
//Do something
}
13.2 使用switch語句檢查條件
ActionScript3.0自學(xué)教程:遍歷和重復(fù)
循環(huán)邏輯由遍歷和重復(fù)組成。循環(huán)是數(shù)據(jù)結(jié)構(gòu)中用于計(jì)數(shù)(遍歷)的控制結(jié)構(gòu)?梢允褂醚h(huán)來檢查一張圖片的所有像素?cái)?shù)據(jù)。
14.1 for循環(huán)語句
14.1.1 使用for循環(huán)遍歷數(shù)組元素
使用for循環(huán)的關(guān)鍵是利用i值的變化。比如,可以使用i值的變化遍歷數(shù)組中已編號(hào)的元素
var numbers:Array = ["zero", "two", "three"];
var arraryLength:int = numbers.length;
for (var i:int = 0; i < arraryLength; i++) {
trace(numbers[i]);
}
14.1.2 死循環(huán)
14.2 使用關(guān)聯(lián)數(shù)組建立動(dòng)態(tài)菜單
14.3 遍歷對(duì)象屬性
14.3.1 使用for...in循環(huán)獲取對(duì)象的屬性
for...in循環(huán)通過獲取元素或?qū)傩缘囊眠M(jìn)行遍歷數(shù)組元素和對(duì)象屬性。
14.3.2 for each...in循環(huán)獲取對(duì)象的屬性
for each...in循環(huán)存儲(chǔ)了引用的屬性或者元素的實(shí)際值,而不僅僅是元素或?qū)傩缘囊谩?/p>
var employeeInfo:Object = new Object();
employeeInfo.name = 'Bob Smith';
employeeInfo.age = '36'
employeeInfo.id = 90201;
for each(var prop in employeeInfo) {
trace(prop)
}
14.4 whiel和do..while循環(huán)語句
【ActionScript3.0自學(xué)教程】相關(guān)文章:
3.Flash ActionScript3.0高級(jí)教程全集
6.ActionScript3.0教程02:類和對(duì)象