function foo(x) { var tmp = 3; return function (y) { alert(x + y + (++tmp)); }}var bar = foo(2); // bar 現(xiàn)在是一個(gè)閉包bar(10);上面的腳本最終也會(huì)alert 16,因?yàn)殡m然bar不直接處于foo的內(nèi)部作用域,但bar還是能訪問(wèn)x和tmp?! 〉?,由于tmp仍存在于bar閉包的內(nèi)部,所以它還是會(huì)自加1,而且你每次調(diào)用bar時(shí)它都會(huì)自加1.不理解為什么會(huì)每次調(diào)用都加1,求大神解釋
JS閉包問(wèn)題
開(kāi)滿天機(jī)
2018-12-12 13:13:43