Javascript回调——为什么它们的处理顺序不同?

Javascript callbacks - why are these processed in different order?

本文关键字:顺序 处理 回调 为什么 Javascript      更新时间:2023-09-26

为什么在这个例子中,'second'函数是第二次执行的呢?

<script>
function first (callback){
    alert ("I am first");
    callback();
}
function second (){
    alert ("I am second");
}
first(second);
</script>

但是在本例中,首先处理第二个函数。为什么在调用第二个()之后添加()会产生不同....

<script>
function first (callback){
    alert ("I am first");
    callback();
}
function second (){
    alert ("I am second");
}
first(second());
</script>

()放在保存函数的变量后,将调用该函数。

first(second);调用first并传递second函数作为参数。然后first将调用callback,这与second相同

first(second());调用second,然后调用first,并传递second()的返回值作为参数。然后first将调用undefined(和错误),因为这是second()的返回值。