$(function(){
    var ss=find(0);
    alert(ss);
  })
  function find(i){
    if(i==5){
      return i;
    }else{
      i=i+1;
      find(i);
    }
  }我写的是递归吗!怎么堆栈溢出了?难道i等于5的时候return不能用啊

解决方案 »

  1.   

    $(function(){
        var ss=find(0);
        alert(ss);
      })
      function find(i){
        if(i==5){
          return i;
        }else{
          i=i+1;
          return find(i);
        }
      }
      

  2.   

     function find(i){
        if(i==5){
            alert(i);
        }else{
          i=i+1;
          find(i);
        }
        
      }你可以就直接这样写。不用在别的方法里调用吧。
      

  3.   

    $(function(){
      var ss=find(0);
      alert(ss);
      })这个方法你这样写试试
    function Click(){
      var ss=find(0);
      alert(ss);
      }
      

  4.   

    我运行了,没问题,返回undefined
      

  5.   

    + 1楼的正确的,你少个return,没有返回值。