閉包是什么,有什么特性,對頁面有什么影響?


什么是閉包

  “官方”的解釋:所謂“閉包”,指的是一個擁有許多變量和綁定了這些變量的環境的表達式(通常是一個函 數),因而這些變量也是該表達式的一部分。 在 Scala、Scheme、Common Lisp、Smalltalk、Groovy、 JavaScript、Ruby、 Python、Go、Lua、objective c、swift 以及Java(Java8及以上)等語言中都能找到對閉包不同 程度的支持。 通俗的講就是函數a的內部函數b,被函數a外部的一個變量引用的時候,就創建了一個閉包。

閉包的特性:

  ①.封閉性:外界無法訪問閉包內部的數據,如果在閉包內聲明變量,外界是無法訪問的,除非閉包主動向外 界提供訪問接口;

  ②.持久性:一般的函數,調用完畢之后,系統自動注銷函數,而對於閉包來說,在外部函數被調 用之后,閉包結構依然保存在;

對頁面的影響:

  使用閉包會占有內存資源,過多的使用閉包會導致內存溢出等。


免責聲明!

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



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