什么閉包,有什么特性,有什么影響,為什么用閉包


(1) 閉包是指有權訪問另一個函數作用域中的變量的函數。(這與當函數被調用是會創建一個執行函數和相應的作用域鏈。作用域鏈本質上是指向變量對象的指針列表,只引用,不實際包含變量對象)。作用域鏈中,函數內部變量對象優先級最高,然后,由最近的外部函數依次向后排。

(2) 封閉性:外界無法訪問閉包內部的數據,如果在閉包內聲明變量,外界是無法訪問的,除非閉包主動向外界提供訪問接口; 持久性:一般的函數,調用完畢之后,系統自動注銷函數,而對於閉包來說,在外部函數被調用之后,閉包結構依然保存在。

(3) 缺點:由於閉包攜帶包含它函數的作用域,因此比其他函數占用的內存更多。

       優點:減少創建全局變量 減少傳遞給函數的參數量 封閉性

(4)閉包可以讀取函數內部的局部變量;這些變量的值始終保存在內存中

函數執行后,函數執行環境的作用域會被銷毀,但是活動對象不會銷毀,只有將匿名函數銷毀后才可以銷毀活動對象。可以將保存函數的變量賦值為null,將可銷毀匿名函數作用域。

常見創建閉包方法:在一個函數內部創建另一個函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM