閉包沒有想象的那么簡(jiǎn)單
閉包的概念在JavaScript中占據(jù)了十分重要的地位,有不少開發(fā)者分不清匿名函數(shù)和閉包的概念,把它們混為一談,我希望借這篇文章能夠讓大家對(duì)閉包有一個(gè)清晰的認(rèn)識(shí)。
大家都知道變量的作用域有兩種:全局變量和局部變量。在JavaScript中函數(shù)內(nèi)部可以訪問(wèn)外部全局變量,而函數(shù)外部無(wú)法訪問(wèn)函數(shù)的內(nèi)部局部變量。
上邊這一小段話,看似簡(jiǎn)單,其實(shí)它是我們理解閉包最基礎(chǔ)的東西。在下邊的內(nèi)容中,我們會(huì)對(duì)這一現(xiàn)象做出解釋。我們先來(lái)看一個(gè)很簡(jiǎn)單的例子:
const a = 100;function f1() { console.log(a); // => 100}f1();
上邊的代碼中的函數(shù)
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式