<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • 【前端面試】講解下閉包是什么?

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

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

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

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

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

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

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

    標(biāo)簽: 前端面試 閉包
    最后修改:2025-03-23 19:20:01

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

    主站蜘蛛池模板: 天峨县| 西宁市| 德令哈市| 壤塘县| 友谊县| 昌黎县| 拜泉县| 延寿县| 老河口市| 桃园市| 新巴尔虎左旗| 丹寨县| 永昌县| 民乐县| 会昌县| 桃园县| 杨浦区| 克拉玛依市| 九寨沟县| 乐平市| 天峨县| 永靖县| 三原县| 巴马| 宜川县| 屯门区| 金沙县| 民乐县| 华池县| 通城县| 沂源县| 沧州市| 象州县| 辽中县| 顺平县| 榆中县| 天祝| 宁阳县| 简阳市| 桑日县| 宁远县|