Javascript回调 - 为什么这些处理顺序不同?

时间:2015-09-23 12:26:21

标签: javascript callback

在这个例子中,第二个功能是第二个:

c: k, i: 4294967295
c: s, i: 4294967295
c: t, i: 16777215

但在此示例中,首先处理第二个函数。为什么在调用第二个之后添加()会产生影响......

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

function second (){
    alert ("I am second");
}

first(second);
</script>

1 个答案:

答案 0 :(得分:9)

在持有函数的变量之后放置()将调用该函数。

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

相同的second

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