假设我们有一个函数foo
如下:
function foo(){
alert("Hello, world!");
}
如果我想从foo
调用bar
,为什么我们必须将它作为回调传递?
function bar(callback){
callback();
}
bar(foo);
如果我们能做的就是:
function bar(){
foo();
}
bar();
因为我们可以传递任何我们想要的函数bar
,只要它匹配指定的函数签名。你的方式,当我们写foo
时,我们必须提前知道bar
函数的名称。
这很重要的原因是它减少了coupling。