p04-02函式語句vs.函式運算式
<<語法>>
函式語句
function 函式名 (參數1名稱:類型=預設值,參數2…):回傳值型別{
}
函數運算式
var 函數名:Function=function(參數1名稱:類型=預設值,參數2…):回傳值型別{
}
不同點:
- 函式語句不論定義在那裡,都會先compiler,因此到處都可使用,而函數運算式在使用前要先定義好
- 函式語句的this關鍵字指向目前函數定義的區域;函數運算式隨函數附著的物件不同而隨之改變。
var num:int=3;
function A(){
trace (num);
trace (this.num);
trace (this);
}
var B:Function=function(){
trace (num);
trace (this.num);
trace (this);
}
var obj:Object={num:300};
obj.a=A;
obj.b=B;
A();
B();
obj.a();
obj.b();
前面三個的結果為:
3
3
[object MainTimeline]
obj.b();的結果為:
3
300
[object MainTimeline]
p04-06參數資訊:arguments物件
arguments.length==>回傳參數的個數
0 意見:
張貼留言