javascript - 回调可以定义参数吗?

标签 javascript

我知道这对你来说可能是一个相当简单的基础知识,这里我需要请你帮忙看看后面是否有需要改进的“漏洞”。请检查下面的代码,我可以将“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/

相关文章:

javascript - 从 Controller 访问 templateUrl 内的元素 - AngularJS

javascript - 如何更新 .focusout() 上的字段?

javascript - 如何将此 jQuery 代码放入外部 .js 文件中?

javascript - 在没有事件处理程序或 Prop 的情况下调用 react 组件中的函数

javascript - JQuery if 语句未正确检测跨度复选框

javascript - Discord Bot 触发其他机器人 Action

Javascript 获取数组中最旧的元素

javascript - 此场景中 array.push 和 array.splice 之间的区别

javascript - 如何猴子修补递归函数

javascript - 在 Internet Explorer 中淡化 PNG 不起作用