Javascript之【函數回調】

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 = {data:"data"};
    callbackFunc.apply(this, [data, callbackParam]);
    //callbackFunc(data, callbackParam);
}

2.以函數名(字符串)爲回調參數

須要用到Function: var func = new Function('param1', 'param2',...,'paramN', 'funcBody');app

var callbackParam = {test:"callbackParam"};
asysc( "asyscCallback", callbackParam);

//回調函數
function asyscCallback(data, callbackParam){
    console.info("called asysc successfully");
}

/**
 * callback 回調函數
 * paramObj 回調參數
 */
function asysc(callbackFunc, callbackParam){
    var data = {data:"data"};
    var strFuncName = "return " + callbackFunc + "(data, callbackParam)";
    func = new Function('data', 'callbackParam', strFuncName);
    func(data, callbackParam);
}
相關文章
相關標籤/搜索