小技巧 為函式物件動態新增例項屬性與方法

2021-06-21 16:28:14 字數 1282 閱讀 9968

由於使用 函式表示式定義法 定義的函式是乙個動態類(dynamic)例項,故可在執行時為其動態新增例項屬性與方法。

以下**摘自《actionscript 3.0 殿堂之路》:

01//程式執行時宣告臨時function變數shot

02varshot:function =function():void;

07

08//為shot動態新增例項屬性times,**中陣列運算子可以使用點號運算子"."替代

09shot["times"] = 0;

10

11//動態新增例項方法,該方法不僅限於臨時宣告方法,也可以是其他任何方式定義的函式

12shot["reload"] =function():void;

17

18shot["reload"]();

19shot();

20shot();

21shot();

22shot();

23shot();

24shot();

由此可見,這種動態新增的做法可謂非常靈活,然後高靈活性往往伴隨的是高風險、不可控、難以閱讀,故在使用時還需要再三審度。

利用類別 Category 為物件新增」例項變數」

posted by pimacun on 六 17,2011 in 開發 subscribe 主要利用objectivec的c api中函式 void objc setassociatedobject id object,const void key,id value,objc associatio...

利用類別 Category 為物件新增」例項變數」

利用類別category為物件新增例項變數 屬性擴充套件用objc setassociatedobject,objc getassociatedobject,方法擴充套件用category 主要利用objectivec的c api中函式 void objc setassociatedobject i...

小技巧 為List新增分隔符

public static void join1 system.out.println sb.tostring 如果想要加個分隔符,比如逗號,傳統寫法 sb new stringbuilder for int i 0 i list.size i system.out.println sb.tostr...