【前端面試】講解下閉包是什么?

程序猿 2021-03-31 20:03:55 1939瀏覽 加載中

答、簡單的說,作用域是針對變量的,比如我們創(chuàng)建一個函數(shù) a1,函數(shù)里面又包了一個子函數(shù)a2.此時就存在三個作用域:

全局作用域、a1作用域、a2作用域;即全局作用域包含了a1的作用域,a2的作用域包含了a1的作用域。

當a1在查找變量的時候會先從自身的作用域區(qū)查找,找不到再到上一-級 a2的作用域查找,如果還沒找到就到全局作用域區(qū)查找,這樣就形成了一個作用域鏈。

理解閉包首先要理解,js 垃圾回收機制,也就是當一個函數(shù)被執(zhí)行完后,其作用域會被收回,如果形成了閉包,執(zhí)行完后其作用域就不會被收回。

如果某個函數(shù)被他的父函數(shù)之外的一個變量引用,就會形成閉包。

閉包的作用,就是保存自己私有的變量,通過提供的接口(方法)給外部使用,但外部不能直[接訪問該變量.

最后修改:2025-04-04 10:11:48

非特殊說明,本博所有文章均為博主原創(chuàng)。

国产免费久久受久久,人妻AV成熟片久久久久久,亚洲综合无码日韩,国产AV无码乱码精品国产 www.sucaiwu.net