有点不理解下面两种不同调用方式为什么返回结果会有这样的差异?希望有人能帮忙解答一下,万分感谢。
function foo() {
var x = 1;
function bar() {
console.log(x);
}
return bar;
}
var x = 2;
var f = foo();
f();
// 上面这种调用方式 返回的是 1
function foo() {
var x = 1;
function bar() {
console.log(x);
}
return bar;
}
var x = 2;
foo();
// 这种方式返回的却是 function bar()。