當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS面向对象--你真的理解闭包了吗?
生活随笔
收集整理的這篇文章主要介紹了
JS面向对象--你真的理解闭包了吗?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JS中的閉包,可能在實際開發中我們用的很少,但是面試的時候是必問的。
所以今兒個總結一下什么是閉包。
首先,我們定義一個變量。會分為兩種情況,1是定義在全局中,我們關閉程序的時候變量會從內存中釋放。2是定義在局部中,在函數中定義一個變量,當我函數調用結束后,會從內存中釋放。
閉包的存在,就是為了當我調用了聲明局部變量的函數后,我的局部變量還能存在在全局之中。延長了我局部變量的生命周期。
接下來簡單寫一個閉包~~
function aaa(){var a =10function bbb(){console.log(a) }return bbb }var num = aaa() num()
那么是怎么判斷一個程序中有閉包呢?
1.是否有外層函數和內層函數 eg:aaa() bbb()
2.外層函數是否有局部變量 eg: var a =10
3.內層函數是否操作了外層函數的局部變量 eg:console.log(a)
4.內層函數是否和外面產生了關聯 eg: return bbb
感謝大家看到這里,希望這篇文章對大家都有幫助~~~
轉載于:https://www.cnblogs.com/JiAyInNnNn/p/11070274.html
總結
以上是生活随笔為你收集整理的JS面向对象--你真的理解闭包了吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器重启后启动Docker命令
- 下一篇: CSS+jQuery/JavaScrip