a. Khai báo và sử dụng
Cú pháp
function tên_hàm(ds_tham_số):kiểu_dữ_liệu_trả_về{ thân hàm; } |
Ví dụ
Ví dụ | Kết quả |
function showMsg():void{ trace(“Hello”); } function Add(a:int, b:int):int{ return a+b; } showMsg(); trace(Add(1,2)); | Hello 3 |
b. Vấn đề tham biến và tham trị
Trong AS các tham số được truyền theo tham trị nếu chúng thuộc kiểu dữ liệu nguyên thủy. Nếu muốn truyền tham số theo tham biến, bạn cần sử dụng một kiểu dữ liệu tham chiếu như kiểu đối tượng Object.
Tham trị | Tham biến |
function noSwap(a:int, b:int):void{ c:int = a; a = b; b = c; } a:int = 1; b:int = 2; noSwap(a, b); trace(a+”, “+b); //Kết quả là: 1, 2 | function Swap(Obj:Object):void{ Obj.a = tempObj.x; Obj.x = tempObj.y; Obj.y = tempObj.a; } var myObj:Object = {x:1, y:2}; Swap(myObj); trace(myObj.x+", "+myObj.y); //Kết quả là: 2, 1 |
c. Hàm với tham số mặc định
Ví dụ | Kết quả |
function Add(a:int, b:int = 0, c:int = 0):int{ return a+b+c; } trace(Add(1)); trace(Add(1,2)); trace(Add(1,2,3)); | 1 3 6 |
Với những tham số được quy định là mặc định, khi gọi hàm chúng có thể không cần xuất hiện trong tham số của hàm, và khi đó tham số đó sẽ nhận giá trị mặc định mà ta đã quy ước.
d. Hàm với số lượng tham số không xác định
Để làm việc với loại hàm chứa tham số dạng này, AS cung cấp cho ta công cụ gọi là (rest) tham số.
Ví dụ | Kết quả |
function Add(...args):int{ var sum:int = 0; for (var i:int = 0; i sum+=args[i]; return sum; } trace(Add(1)); trace(Add(1,2)); trace(Add(1,2,3)); | 1 3 6 |
e. Kiểu dữ liệu hàm
Bạn có thể khởi gán một biến cho một hàm được khai báo. Việc này sẽ giúp bạn tạo ra hai hàm có chức năng giống nhau.
Ví dụ | Kết quả |
var Cong = function Add(a:int, b:int):int{ return a+b; } trace(Cong(1,2)); | 3 |
No comments:
Post a Comment