JavaScript return为什么没有作用?

y_57c1af5eb01b9
  • 20
var n = 5;
var arr = [];
function test(n) {

    if(n === 1) {
        arr.push(1);
        return arr;
    }
    arr.push(n);
    n --;
    test(n);
}

var a = test(5);
console.log(a);// 这里为什么是undefined?而不是[5,4,3,2,1],我上面明明return出arr了
回复
阅读 2.5k
2 个回答
var n = 5;
var arr = [];
function test(n) {

    if(n === 1) {
        arr.push(1);
        return arr;
    }
    arr.push(n);
    n --;
  return  test(n);  // 很重要
}

var a = test(5);
console.log(a);
花树雯
  • -2
新手上路,请多包涵

不明白为什么会这样,不过都做到这份上了,直接在外层console.log(arr)不就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏