### 1. 以函數為回調參數(建議使用) ``` var callbackParam = {test:"callbackParam"}; asysc( asyscCallback, callbackParam); //回調函數 function asyscCallback(data, callbackParam){ console.info("called asysc successfully"); } /** * callback 回調函數 * paramObj 回調參數 */ function asysc(callbackFunc, callbackParam){ var data = http://my.oschina.net/u/2462423/blog/{data:"data"}; callbackFunc.apply(this, [data, callbackParam]); //callbackFunc(data, callbackParam); } ``` ### 2.以函數名(字符串)為回調參數 需要用到Function: var func = new Function('param1', 'param2',...,'paramN', 'funcBody'); ``` var callbackParam = {test:"callbackParam"}; asysc( "asyscCallback", callbackParam); //回調函數 function asyscCallback(data, callbackParam){ console.info("called asysc successfully"); } /** * callback 回調函數 * paramObj 回調參數 */ function asysc(callbackFunc, callbackParam){ var data = http://my.oschina.net/u/2462423/blog/{data:"data"}; var strFuncName = "return " + callbackFunc + "(data, callbackParam)"; func = new Function('data', 'callbackParam', strFuncName); func(data, callbackParam); } ```
Tags: function return called 字符串
文章來源: