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);
}
相关文章
相关标签/搜索