如果用recursion()而不是setTimeOut("recursion()",1000);
那不就是递归吗?
肯定输出顺序是3,3,3。这个也是经过验证的。
而用了SetTimeOut()函数后,怎么就变了呢,请高手知道。

解决方案 »

  1.   

    setTimeOut的作用是定时执行某方法
    这样你实现的只是多次执行recursion
    而不是recursion在执行时调用自身
      

  2.   

    <HTML><HEAD><TITLE></TITLE>
    <META http-equiv=Content-Type content="text/html; charset=UTF-8">
    </HEAD>
    <script language=javascript>
    var count=0;
    function recursion(obj)
    {
        count++;
        //alert(count);
        if(obj==3){
         return;
        }
          
        //recursion();
       alert(obj);
       setTimeout("recursion(count)", 1000);
    }
     
    </script>
    <BODY onLoad="recursion(0)">
    </BODY></HTML>
      

  3.   

    setTimeOut是定时执行,不是递归。