flash action 詳解(8)_Flash教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:flash action 詳解(7)循環(huán)語句--for循環(huán)語句for對于for循環(huán),我想大多數(shù)讀者都不會生疏.下面是一個求1到100的自然數(shù)之和的程序段.varsum=0;//下面是for循環(huán)for(v
第 4 章: 函數(shù)---函數(shù)的基本概念終于寫完了數(shù)據(jù)類型和條件以及循環(huán)語句部分, 現(xiàn)在可以講講函數(shù)了.
函數(shù)是在程序中可以重復(fù)使用的代碼. 你可以將需要處理的值或?qū)ο笸ㄟ^參數(shù)的形式傳遞給函數(shù), 然后由函數(shù)得到結(jié)果. 從另一個角度說, 函數(shù)存在目的就是為了簡化編程的負擔(dān), 減小代碼量和提高效率. 而一個寫得好的函數(shù), 就像一個"黑箱", 你只要懂得調(diào)用它就行了, 而不用去關(guān)心它的具體功能是如何實現(xiàn)的
創(chuàng)建自己的函數(shù)---函數(shù)定義(Definition)
要創(chuàng)建一個函數(shù), 就需要有函數(shù)的定義. 對于 Actions cript, 就沒有什么返回值類型, 形參實參之類的東西好討論了. 下面是一個簡單函數(shù)的定義:
//計算矩形面積的函數(shù)
function areaOfBox(a, b) {
return a*b; //在這里返回結(jié)果
}
//測試函數(shù)
area = areaOfBox(3, 6);
trace("area=" area);
現(xiàn)在來分析一下函數(shù)定義的結(jié)構(gòu). function 要害字說明這是一個函數(shù)定義, 而不是一段執(zhí)行代碼. 其后便是函數(shù)的名稱: areaOfBox. 函數(shù)名后面的括號內(nèi)是函數(shù)的參數(shù)列表(也可以沒有參數(shù), 但括號是必須要有的). 緊接著的大括號內(nèi)是函數(shù)的實現(xiàn)代碼, 即 Actions cript 語句. 假如函數(shù)需要返回值, 可以使用 return 要害字加上要返回的變量名, 表達式或常量名. 在一個函數(shù)中可以有多個 return 語句, 但無論何時, 只要執(zhí)行了其中的任何一個 return 后, 函數(shù)便自行終止而不會繼續(xù)執(zhí)行下去. 假如沒有 return 語句, 則在函數(shù)尾最后一個語句執(zhí)行后結(jié)束.
因為 Actions cript 的非凡性, 函數(shù)的參數(shù)定義并不要求參數(shù)類型的聲明, 即可以不指定參數(shù)類型. 這省去了很多麻煩, 也帶來了一些問題. 雖然把上例中倒數(shù)第二行改為 area = areaOfBox("3", 6); 也同樣可以得到 18 的結(jié)果, 但是這對程序的穩(wěn)定性非常不利(假如函數(shù)里面用到了 a b 的話, 就會變成字符串的連接運算, 結(jié)果自然會出錯). 所以, 有時候在函數(shù)中類型檢查是不可少的.
在函數(shù)體中參變量用來代表要操作的對象. 你在函數(shù)中對參變量的操作, 就是對傳遞給函數(shù)的參數(shù)的操作. 上例中的 a*b 在你調(diào)用函數(shù)時會被轉(zhuǎn)化為參數(shù)的實際值 3*6 處理.
--------------------------------------------------------------------------------
函數(shù)還有一種創(chuàng)建方法, 叫做函數(shù)顯式聲明(function literal, 不是通過正式的函數(shù)聲明而是在一個表達式內(nèi)通過未命名的函數(shù)來進行聲明):
areaOfBox = function(a,b) {return a*b;};
trace("area=" areaOfBox(2,3));
這種形式的聲明經(jīng)常用在對象的方法或是函數(shù)庫的函數(shù)聲明中.
在 Flash MX 的幫助中函數(shù)定義部分關(guān)于這種聲明的范例代碼有誤, 請注重.
--------------------------------------------------------------------------------
上面是有返回值的函數(shù), 在函數(shù)尾使用了 return 要害字來返回結(jié)果. 函數(shù)也可以不返回任何值. 如下例:
//無返回值的函數(shù)
function areaOfBox(a, b) {
_root.area = a*b;
}
//測試函數(shù)
areaOfBox(3, 6);
trace("area=" _root.area);
它的結(jié)果也是 18, 只不過最后的結(jié)果是傳遞到 _root 下的指定變量 area 而已.下面一個例子更簡單:
//計算矩形面積的函數(shù)
function simpleFunc() {
trace ("什么都沒有"); //在這里返回結(jié)果
}
//測試函數(shù)
simpleFunc();
最后的輸出就是 trace 中的字符串. 就是說, 函數(shù)可以既沒有參數(shù)也沒有返回值, 而是一系列操作的集合. 可見函數(shù)的使用具有很高的靈活性.
分享:flash action 詳解(6)第3章:條件和循環(huán)--綜述Actionscript的條件和循環(huán)語句有if,else,elseif,for,while,do...while,for...in和tch.在Flash中它們被叫做流程控制動
相關(guān)Flash教程:
- 相關(guān)鏈接:
- 教程說明:
Flash教程-flash action 詳解(8)
。