什麼是通過引用調用函數的例子(而不是直接)?什麼是通過引用調用函數的示例?
0
A
回答
3
如果我理解的問題,你想是這樣的:
function myFunction():void { trace("calling my function!"); }
var functions:Array = [myFunction];
functions[0](); // traces "calling my function!"
的想法是,每個函數也是一個對象。當你有myFunction()時,如果你把「myFunction」當作一個變量(注意:no()),那麼你可以傳遞一個對該函數的引用。例如,這就是回調工作的方式。
例如:
this.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent):void {
trace("CLICK!");
}
在你的addEventListener電話,你傳遞給你的clickHandler事件函數的引用。然後Flash知道每當這個對象接收到一個MouseEvent.CLICK類型的事件時,它應該調用被引用的函數(在本例中爲clickHandler)。
這有道理嗎?
+1
值得注意的是,函數引用實際上可以存儲在類型爲`Function`的變量中,如`var callback:Function = someFunction;`如果除了函數之外還想存儲參數/參數,則可以將它們放入一個`var parameters:Array`。然後你可以使用函數對象的apply()方法調用該函數:`callback.apply(null,parameters)`。 – epologee 2011-02-06 14:21:35
0
相關問題
- 1. Swift:通過引用傳遞基元的用例是什麼
- 2. 通過var引用調用jQuery函數
- 3. 通過引用函數調用
- 4. 通過網絡調用函數的最佳方式是什麼?
- 5. 爲什麼std :: not1()通過const引用而不是通過值引用參數?
- 6. 什麼是用示例數據調用的實體關係圖?
- 7. 是否可以通過引用從python調用C函數?
- 8. 什麼是函數的左值引用?
- 9. 什麼是通過調用_mm_stream_si64x()來實現性能增益的示例程序?
- 10. 什麼是Go示例函數?
- 11. FluorineFX C#示例通過RTMP調用遠程函數
- 12. 通過C回調調用C++成員函數的最佳方法是什麼?
- 13. 爲什麼C++實例在通過Objective-c類調用時自動調用構造函數和析構函數?
- 14. 什麼是由setTimeout調用的函數?
- 15. 這是什麼樣的函數調用?
- 16. java通過引用函數
- 17. PHP函數通過引用
- 18. 函數調用和函數引用有什麼區別?
- 19. 通過const值爲非內建類型返回函數的用例是什麼?
- 20. 爲什麼通過setTimeout調用原型函數時會丟失實例信息?
- 21. 爲什麼std :: thread通過轉發引用接受仿函數
- 22. 在以下示例中通過引用
- 23. 爲什麼通過值調用示例不能修改輸入參數?
- 24. 通過腳手架生成的視圖中的壞函數調用是什麼?
- 25. 通過socket.io調用函數
- 26. 通過函數調用
- 27. 通過XML調用函數
- 28. 通過grequests調用函數
- 29. 無法通過webmethod調用的函數獲取ListView的引用
- 30. 是什麼,而調用函數
你的意思是像`var functionName:Function = function(arg:*):* {...}`而不是`function functionName(arg:*):* {...}`? – Taurayi 2011-02-05 05:22:24