閉包沒有想象的那么簡單

閉包的概念在JavaScript中占據(jù)了十分重要的地位,有不少開發(fā)者分不清匿名函數(shù)和閉包的概念,把它們混為一談,我希望借這篇文章能夠讓大家對閉包有一個(gè)清晰的認(rèn)識。

大家都知道變量的作用域有兩種:全局變量和局部變量。在JavaScript中函數(shù)內(nèi)部可以訪問外部全局變量,而函數(shù)外部無法訪問函數(shù)的內(nèi)部局部變量。

上邊這一小段話,看似簡單,其實(shí)它是我們理解閉包最基礎(chǔ)的東西。在下邊的內(nèi)容中,我們會對這一現(xiàn)象做出解釋。我們先來看一個(gè)很簡單的例子:

const a = 100;function f1() {
    console.log(a); // => 100}f1();

上邊的代碼中的函數(shù)

網(wǎng)友評論