javascript - js中关于闭包的问题,昨晚纠结到了现在,已经快死了
本文介绍了javascript - js中关于闭包的问题,昨晚纠结到了现在,已经快死了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
因为刚刚开始学习闭包很多地方没能理解到,如图所示在控制台中的 undefined
是如何得到的? 我只执行了返回函数呀,为什么会有两个执行结果?请大佬们详解下~
解决方案
你可以重最低下兩段代碼可以說起var result = f1();
變量指向函數console.log(result())
其實可以轉話為 f1()()
即函數執行 f1()
返回的函數,即f2()
所以首先會執行 f1()
下的f2()
函數 再執行f1()
所以首先console.log(n)
即1
在執行函數f1()
時候return f2
,但由於函數沒有對返回值,所以打印出undefined
这篇关于javascript - js中关于闭包的问题,昨晚纠结到了现在,已经快死了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文