为了账号安全,请及时绑定邮箱和手机立即绑定

js中关于闭包的问题,昨晚纠结到了现在,已经快死了

js中关于闭包的问题,昨晚纠结到了现在,已经快死了

隔江千里 2018-11-20 17:13:21
因为刚刚开始学习闭包很多地方没能理解到,如图所示在控制台中的 undefined是如何得到的? 我只执行了返回函数呀,为什么会有两个执行结果?请大佬们详解下~
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

你可以重最低下兩段代碼可以說起
var result = f1(); 變量指向函數
console.log(result()) 其實可以轉話為 f1()()
即函數執行 f1()返回的函數,即f2() 所以首先會執行 f1()下的f2() 函數 再執行f1()
所以首先console.log(n) 即1
在執行函數f1()時候return f2 ,但由於函數沒有對返回值,所以打印出undefined

查看完整回答
反对 回复 2018-12-18
  • 1 回答
  • 0 关注
  • 477 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信