我正在读一本书,这里有一个关闭的例子
function newFunc(fn) {
fn();
}
function foo() {
var a = 2;
function innerFunc() {
console.log(a); // 2
}
newFunc(innerFunc);
}
但它不会返回2. 它显示空白是控制台。那是为什么?
答案 0 :(得分:2)
您需要调用foo
函数,该函数将newFunc
作为参数调用innerFunc
。
function newFunc(fn) {
fn();
}
function foo() {
var a = 2;
function innerFunc() {
console.log(a); // 2
}
newFunc(innerFunc);
}
foo(); // Invoke foo function