请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于闭包取值的问题

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中寻找么?
请问,为什么最后是在全局作用域中寻找呢?不应该是最后才是在全局作用域中寻找么?

正在回答 回答被采纳积分+3

1回答

双越 2019-10-25 22:00:59

你先参考 http://coding.imooc.com/learn/questiondetail/120005.html 问题,把代码格式化一下吧。

然后我明天给你回复。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号