当我试图理解 JS 闭包时,我写了这段代码:
const outer = function() {
let a = 10, c = 100;
const inner = function() {
let b = 20;
console.log(a + b); // line 5 (30)
};
return inner;
};
let K = outer();
console.log(K()); // line 10 (undefined)
控制台的输出:
30(第 5 行)
未定义(第 10 行)
控制台输出结果(30)
并且它指向代码的(第 5 行)(这对我来说似乎是合理的)在那之后(这就是我不明白的)当它返回到最后一行代码(第 10 行)时它返回 undefined 任何人都可以澄清这个 JS 行为?