谈谈我对js中闭包的理解
生活随笔
收集整理的這篇文章主要介紹了
谈谈我对js中闭包的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
閉包是一個能夠訪問其他函數作用域的函數。
很顯然這樣的定義晦澀難懂,很多人都很難理解閉包的真正含義
那么我們就用通俗一點的語言來解析一下什么是閉包
我在知乎上看到一個比較有意思的回答:
由此我們可以通俗的理解為:
函數A的內部函數B,被函數A外部的一個變量引用時,就會形成一個閉包。
我們最常用到閉包的情況就是函數封裝
展示一下我在實際項目中遇到閉包的應用場景:
我們需要調用這個getFeedbackList方法的時候,只需要formFeedbackServics.getFeedbackList()就好啦
閉包的兩個用處是:
1.可以訪問函數內部的變量
2.讓這些變量的值一直保存在內存中(同樣也正是因為這個特點會導致內存泄漏)
解決內存泄漏的方式是:
將那些不需要的變量和那些垃圾回收收不走的變量賦值為null,讓垃圾回收回收走
總結
以上是生活随笔為你收集整理的谈谈我对js中闭包的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易新闻app怎么样(网易游戏官网)
- 下一篇: 微任务与宏任务与eventloop