Flash ActionScript3 殿堂之路5

重點筆記
p04-02函式語句vs.函式運算式
<<語法>>
函式語句
function 函式名 (
參數1名稱:類型=預設值,參數2…):回傳值型別{
}

函數運算式
var 函數名:Function=function(
參數1名稱:類型=預設值,參數2…):回傳值型別{
}

不同點:
  1. 函式語句不論定義在那裡,都會先compiler,因此到處都可使用,而函數運算式在使用前要先定義好
  2. 函式語句的this關鍵字指向目前函數定義的區域;函數運算式隨函數附著的物件不同而隨之改變。
ex:
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==>回傳參數的個數
Category:

0 意見: