猿问

关于函数执行顺序的问题! 求大神讲解!

$(document).ready(function(){      
                   var flag =  0;
                   flag = a();
                   if( flag == 1)
                   {
                       b();
                   }                
               });
          function a()
          {      
               setTimeout(function(){alert("timeout")},1000);
               return 1;
           }

          function b()
          {  
              alert(2);
          }为什么会输出 先2 然后 timeout

我想是 先执行a()函数 设个定时器 再执行b( )
感觉a( ) 函数先把1返回了 然后定时器才执行  不是应该先执行定时器的函数吗
这样才能延时等待啊

简约321
浏览 1234回答 1
1回答

忆木偶

因为定时器是有时间的,初始化时,还未到定时器的时间,函数都是由主函数从上往下执行
随时随地看视频慕课网APP
我要回答