我一定错过了一些愚蠢的东西,但为什么 sumArray
返回 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>
最佳答案
改变:
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
}
关于javascript函数返回意外的未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19242219/