【发布时间】:2017-09-09 05:23:56
【问题描述】:
我理解在 javascript 中将函数作为变量传递的概念——无论是函数变量还是匿名函数。但是,我不明白何时或为什么应该将函数作为参数而不是在主函数调用之前或之后执行。
例如:
假设创建了一个回调函数和一个私有函数-
function callback(y) {
alert(y);
}
function foo(x, callback) {
alert(x);
}
这两种说法有什么区别?后一种说法什么时候比第一种更实用?
foo(bar);
callback(bas);
或
foo(bar, callback(bas));
我确定这在语法上不正确,但希望它能够说明我想要传达的内容。
最终,我试图了解何时将函数作为参数运行是可行的。
【问题讨论】:
-
回调通常是异步调用的。在调用启动异步操作的函数之后,同步调用它们会破坏等待异步操作成功或失败的目的。
-
“回调”在这里有点用词不当,所以我可能不应该使用它。我只是碰巧在使用回调时意识到了这种情况。正如我所说,我最终试图理解何时以及为什么应该将函数作为参数执行,而不是独立的函数调用——不管它是否是回调。
标签: javascript function parameters callback