閉包

閉包是作用域應(yīng)用的特殊情況 它有兩種變現(xiàn)

1 . 函數(shù)作為返回值被返回

 function create()  {
         const a = 100;
         return function(){
         console.log(a)
      }
 }
const fn = create();
const a = 200;
fn(); //100

2 . 函數(shù)作為參數(shù)被傳遞

  function print(fn) {
    const a = 200;
    fn()
 }
const a = 100;
 function fn(){
   console.log(a)
 }
 print(fn) //100
總結(jié):所有自由變量的查找是在函數(shù)定義的地方向上一級作用域查找 ,而不是在調(diào)用的地方。

tips: 閉包會引起內(nèi)存泄漏,所以再函數(shù)結(jié)束前應(yīng)該將其賦值為null

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容