关于闭包取值的问题
来源:16-9 作用域和闭包--闭包-代码演示
meimei1314
2019-10-25
var a = 100;
function F1() {
// var a = 200;
return function () {
console.log(a)
}
}
var f1 = F1();
function F2(fn) {
var a = 300;
fn();
}
F2(f1); // 100
老师,请问一下,闭包作为参数传递时,查询自由变量a的时候,
第一步,在其定义时父作用域F1中寻找,
第二部,若没有找到,不应该是其参数fn的父作用域F2中寻找么?
请问,为什么最后是在全局作用域中寻找呢?不应该是最后才是在全局作用域中寻找么?
写回答
1回答
-
双越
2019-10-25
你先参考 http://coding.imooc.com/learn/questiondetail/120005.html 问题,把代码格式化一下吧。
然后我明天给你回复。
00
相似问题