閉包的概念?優缺點?
閉包
的概念:
閉包是指有權訪問另一個函式作用域中的變數的函式。
解決的問題就是:可以在全域性中訪問區域性變數
。
建立閉包
的方式:
在一個函式內部建立另一個函式,並返回該函式
優點:
●避免全域性變數
的汙染
●希望一個變數長期儲存在記憶體中(快取變數
)
缺點:
●記憶體洩露
(消耗)
●常駐記憶體,增加記憶體
使用量
使用閉包的注意點:
●由於閉包會使得函式中的變數都被儲存在記憶體中,記憶體消耗很大,所以不能濫用閉包
,否則會造成網頁的效能問題
,在IE中可能導致記憶體洩露
。解決方法是,在退出函式之前,將不使用的區域性變數全部刪除
。
●閉包會在父函式外部
,改變父函式內部變數
的值。所以,如果你把父函式當作物件(object) 使用,把閉包當作它的公用方法(Public Method), 把內部變數當作它的私有屬性(private value),這時一定要小心,不要隨便改變父函式內部變數的值
。
相關文章
- js之閉包(概念、優缺點、應用)JS
- 什麼是閉包,閉包的優缺點?
- SAP的概念及優缺點
- 雲主機的概念及其優缺點
- 什麼是閉包?有哪些使用場景?優缺點是什麼?
- 【閉包概念】關於閉包概念不同解讀——你可以自己理解。
- Docker的優缺點Docker
- 繼承的優缺點繼承
- 內聯的優缺點
- MySQL索引的優缺點MySql索引
- RabbitMQ優缺點MQ
- MapReduce優缺點
- Hive 優缺點Hive
- 繼承的優點和缺點繼承
- MyBatis的優缺點以及特點MyBatis
- 節點快取的優缺點快取
- HTTPS 優點與缺點HTTP
- Base64 的優缺點
- kafka的優缺點都有那些Kafka
- 6.iframe的優缺點
- 關於 Cookie的優缺點Cookie
- HTTP和RPC的優缺點HTTPRPC
- PyLint 的優點、缺點和危險
- 作為php瞭解一下共享記憶體的概念及優缺點PHP記憶體
- 串列埠、IIC、SPI的優缺點串列埠
- 單頁應用的優缺點
- 雲伺服器的優缺點伺服器
- 資料中心代理的優缺點
- 代理伺服器的優缺點伺服器
- 物聯網路卡的優缺點
- 02 SVN 與 Git 的優缺點Git
- serverless與容器優缺點Server
- HTTP1.1 優缺點HTTP
- hadoop-HDFS優缺點Hadoop
- Ajax原理以及優缺點
- iframe有哪些優點和缺點?
- 為了前端的深度-閉包概念與應用前端
- 多層PCB的優點和缺點有哪些?