溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript閉包-萌貝樹母嬰公司未有坑騙

發(fā)布時間:2020-06-10 15:54:22 來源:網(wǎng)絡(luò) 閱讀:310 作者:qq5d7718e868b3d 欄目:web開發(fā)

正如標(biāo)題所述,JavaScript閉包對我來說一直有點神秘,看過很多閉包的文章,在工作使用過閉包,有時甚至在項目中使用閉包,但我確實是這是在使用閉包的知識。
  最近看到的一些文章,終于,有人用于一種讓我明白方式對閉包進行了解釋,我將在本文中嘗試使用這種方法來解釋閉包。
  準(zhǔn)備
  在理解閉包之前,有個重要的概念需要先了解一下,就是 js 執(zhí)行上下文。
  這篇文章是執(zhí)行上下文 很不錯的入門教程,文章中提到:
  當(dāng)代碼在JavaScript中運行時,執(zhí)行代碼的環(huán)境非常重要,并將概括為以下幾點:
  全局作用域——第一次執(zhí)行代碼的默認環(huán)境。
  函數(shù)作用域——當(dāng)執(zhí)行流進入函數(shù)體時。
  (…) —— 我們當(dāng)作 執(zhí)行上下文 是當(dāng)前代碼執(zhí)行的一個環(huán)境與作用域。
  換句話說,當(dāng)我們啟動程序時,我們從全局執(zhí)行上下文中開始。一些變量是在全局執(zhí)行上下文中聲明的。我們稱之為全局變量。當(dāng)程序調(diào)用一個函數(shù)時,會發(fā)生什么?
  以下幾個步驟:
  JavaScript創(chuàng)建一個新的執(zhí)行上下文,我們叫作本地執(zhí)行上下文。
  這個本地執(zhí)行上下文將有它自己的一組變量,這些變量將是這個執(zhí)行上下文的本地變量。
  新的執(zhí)行上下文被推到到執(zhí)行堆棧中??梢詫?zhí)行堆??醋魇且环N保存程序在其執(zhí)行中的位置的容器。
  函數(shù)什么時候結(jié)束?當(dāng)它遇到一個return語句或一個結(jié)束括號}。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI