2013-10-08 97 views
1

我一定錯過了一些愚蠢的事情,但爲什麼sumArray返回undefined ???javascript函數返回意外undefined

<script> 

    function sumArray(arr, n, sum){ 
     if(n == 0){ 
      console.log(arr[0] + sum); // log shows 15 as expected 
      return arr[0] + sum;  // the function would return undefined 
     }else{ 
      sum = sum + arr[n-1]; 
      sumArray(arr, n-1, sum); 
     } 
    } 

    var arr1 = [0,1,2,3,4,5]; 
    var result = sumArray(arr1, arr1.length, 0) 

    console.log(result); // returns Undefined !!! 

</script> 
+4

你沒有'你別的return'聲明。 – Emissary

+0

該死的看起來像我沒有睡覺weel畢竟!非常感謝 ! –

回答

6

變化:

else{ 
    sum = sum + arr[n-1]; 
    sumArray(arr, n-1, sum); 
} 

else{ 
    sum = sum + arr[n-1]; 
    return sumArray(arr, n-1, sum); //return the function 
}