Javascript封闭测试-为什么我的结果为“未定义”?

sah*_*ini -1 javascript

这是我的代码-

function test1 () {
  let num = 15;

  return function test2 () {
    console.log(num);
    num++;
  }
}

let f = test1();
console.log(f());
console.log(f());
console.log(f());
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

这是我得到的输出- 在此处输入图片说明

我的问题是为什么我Undefined在每个值之后都得到结果?

jun*_*var 5

f并且test2不返回任何值。您希望在控制台日志中看到什么?如果添加return num,则将看到打印两次的数字。

function test1() {
  let num = 15;
  
  return function test2() {
    console.log(num);
    num++;
    return num;
  }
}

let f = test1();
console.log(f());
console.log(f());
console.log(f());
Run Code Online (Sandbox Code Playgroud)