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