Javascript 向回调函数添加参数

Javascript 向回调函数添加参数,javascript,Javascript,如果运行下面的代码段,您将注意到param值未定义。在最后的函数中,尽管添加了它。是否有方法添加参数并使其显示在success函数中。有没有向回调函数添加参数的方法?编辑为避免混淆,在sendPersonDetailsToServer之前,该参数不可用 函数保存成功(param){ console.log('save success'); 控制台日志(param); } 函数sendPersonDetailsToServer(successCallback){ log(“向服务器发送人员详细信

如果运行下面的代码段,您将注意到param值未定义。在最后的函数中,尽管添加了它。是否有方法添加参数并使其显示在success函数中。有没有向回调函数添加参数的方法?编辑为避免混淆,在sendPersonDetailsToServer之前,该参数不可用

函数保存成功(param){
console.log('save success');
控制台日志(param);
}
函数sendPersonDetailsToServer(successCallback){
log(“向服务器发送人员详细信息”);
successCallback('myParameter');
}
函数saveFiles(successCallback){
log(“保存文件”);
successCallback();
}
$(文档).ready(函数(){
sendPersonDetailsToServer(函数(){
保存文件(saveSuccess);
});
});

这里的问题是您的parm没有通过正确的函数。我已将参数移动到函数saveFiles,它按预期工作

函数保存成功(param){
console.log('save success');
控制台日志(param);
}
函数sendPersonDetailsToServer(successCallback){
log(“向服务器发送人员详细信息”);
successCallback('myParameter');
}
函数saveFiles(successCallback){
log(“保存文件”);
successCallback('myParameter');//这是应该传递参数的地方
}
$(文档).ready(函数(){
sendPersonDetailsToServer(函数(){
保存文件(saveSuccess);
});
});

您不接受
sendPersonDetailsToServer
回调方法中的回调响应参数,也不将其传递给
saveSuccess
方法,从而得到
未定义的

//Accept callback response parameter 
sendPersonDetailsToServer(function(response) {
  saveFiles(function() {
    //Pass it to saveSuccess
    saveSuccess(response);
  });
});
函数保存成功(param){
console.log('save success');
控制台日志(param);
}
函数sendPersonDetailsToServer(successCallback){
log(“向服务器发送人员详细信息”);
successCallback('myParameter');
}
函数saveFiles(successCallback){
log(“保存文件”);
successCallback();
}
$(文档).ready(函数(){
//接受回调响应
sendPersonDetailsToServer(功能(响应){
保存文件(函数(){
//把它传给saveSuccess
保存成功(响应);
});
});
});

您也可以使用apply或call.不幸的是,原始问题中提到的myparameter在保存文件中不可用。它仅在sendPersonDetailstoServer中可用