Javascript回调-为什么这些回调的处理顺序不同?
在本例中,“second”函数是如何在第二时间执行的:Javascript回调-为什么这些回调的处理顺序不同?,javascript,callback,Javascript,Callback,在本例中,“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>
函数优先(回调){
警惕(“我是第一”);
回调();
}
函数秒(){
警惕(“我是第二”);
}
第一(第二);
但在本例中,第二个函数是首先处理的。为什么在调用第二个后添加()会产生不同
<script>
function first (callback){
alert ("I am first");
callback();
}
function second (){
alert ("I am second");
}
first(second());
</script>
函数优先(回调){
警惕(“我是第一”);
回调();
}
函数秒(){
警惕(“我是第二”);
}
第一(第二());
将()
放在保存函数的变量之后将调用该函数
第一(第二)
调用第一个
并将第二个
函数作为参数传递<代码>第一个将调用回调
,这与第二个
first(second())
调用second
,然后调用first
,并将second()的返回值作为参数传递first
随后将调用undefined
(和error),因为这是存储vs执行的second()的返回值。。。