函數(shù)里面再定義一個(gè)函數(shù),內(nèi)部函數(shù)可以訪問外部函數(shù)作用域的變量。如果外部函數(shù)不暴露這個(gè)內(nèi)部函數(shù)的話,外界就不知道這個(gè)內(nèi)部函數(shù)。
這個(gè)內(nèi)部函數(shù)和函數(shù)所能訪問的變量(也叫環(huán)境)的總和被稱為閉包布蔗。
閉包常常用來隱藏變量,給內(nèi)部函數(shù)的變量設(shè)置里只讀屬性浪腐,外部只能返回他的值纵揍,而不能修改他的值,從而起到了保護(hù)作用议街。
這邊文章解釋的非常清楚
「每日一題」JS 中的閉包是什么泽谨? - 方應(yīng)杭的文章 - 知乎
https://zhuanlan.zhihu.com/p/22486908