javascript函数返回意外的未定义

标签 javascript function

我一定错过了一些愚蠢的东西,但为什么 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/

相关文章:

javascript - Bootstrap 进度动画的比例不正确

javascript - JS Slider 无法更改图像动画时间

javascript - 使用 Bit.ly API 仅使用 Javascript 来缩小 URL

c - C 中从用户读取所有数组成员的函数

javascript - IIFE inside for loop error VM531 :3 Uncaught TypeError: console. log(...)

python - 我怎样才能把这个函数变成一个循环? Python

JavaScript onSubmit 验证

javascript - 如何在 JavaScript 中读取 `export default *`?

调用函数时,Python 模块 audiolab 返回错误

python - 在 python 函数中使用可选参数