我知道这对你来说可能是一个相当简单的基础知识,这里我需要请你帮忙看看后面是否有需要改进的“漏洞”。请检查下面的代码,我可以将“response”设置为回调参数而不是callSvc的吗?而不是这种“棘手”的方式?
function callSvc(response, callback){
callback(response);
}
callSvc("I'm a response!",function(param_response){document.write(param_response);});
谢谢..
更新
也许这已经足够好了?
function callSvc(callback) {
callback("response");
}
callSvc(function(data) {
document.write(arguments[0]);
});
最佳答案
closures 应该没有什么棘手的地方。在 JavaScript 中。它们是一种语言功能。
您也可以避免包装 callSvc 函数,并直接跳到此:
var response = "I'm a response"
var callback = function(){document.write(response);};
回调函数可以“查看”响应,就像您将其作为参数传递一样,因为它形成了一个闭包。
callback(); //I'm a response
关于javascript - 回调可以定义参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223416/