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