如果我们只能在高阶函数的主体中调用回调函数,为什么还要将它们作为参数传递呢?

时间:2019-02-17 19:55:40

标签: javascript function callback

假设我们有一个函数<img scr>如下:

$card3

如果我想从$card1, $card2调用if($card1=='0'){ $data = ' <html> <head></head> <body> <img src = "https://www.stoningtonsoccerinternational.com/wp-content/uploads/2019/02/1_AC.png" height="5" width="5" > </body> </html>'; }else{ $data = ' <html> <head></head> <body> <img src = "https://www.stoningtonsoccerinternational.com/wp-content/uploads/2019/02/red_back.png" height="5" width="5" > </body> </html>'; } //card2 setting and fixing of front and back if($card2=='0'){ $data = ' <html> <head></head> <body> <img src = "https://www.stoningtonsoccerinternational.com/wp-content/uploads/2019/02/2_AD.png" height="5" width="5" > </body> </html>'; }else{ $data = ' <html> <head></head> <body> <img src = "https://www.stoningtonsoccerinternational.com/wp-content/uploads/2019/02/red_back.png" height="5" width="5" > </body> </html>'; } return $data; } ,为什么我们必须将其作为回调传递?

foo

如果我们能做的就是:

function foo(){
    alert("Hello, world!");
}

1 个答案:

答案 0 :(得分:1)

因为我们可以将想要的任何函数传递给<input><button>Convert!</button>,只要它与指定的函数签名匹配即可。用您的方式,在编写bar时,我们必须提前知道foo函数的名称。

之所以重要,是因为它减少了coupling