为什么不返回在当前函数之外定义的函数会创建闭包?

时间:2018-09-17 18:10:00

标签: javascript scope closures lexical-scope

在函数outer中,我返回的函数的名称与在outer中声明/定义的变量的名称相同。

为什么不创建闭包?为什么以下代码打印undefined,而不打印Yolo!

function inner(){
    console.log('theVar', theVar);
}

function outer(){
    var theVar = 'Yolo!';
    return inner;
}

console.log('Starting...');
outer()();

1 个答案:

答案 0 :(得分:0)

函数范围内的

var声明只能在该函数内访问,在您的情况下,是external()