在这个例子中,第二个功能是第二个:
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>
答案 0 :(得分:9)
在持有函数的变量之后放置()
将调用该函数。
first(second);
调用first
并将second
函数作为参数传递。然后,first
会调用与callback
second
first(second());
调用second
,然后调用first
并传递返回值second()
作为参数。然后first
会调用undefined
(和错误),因为这是second()
的返回值。