我在「JavaScript中確定指導」讀這些行,我無法理解爲什麼內部函數的作用域鏈會有所不同,每次函數被調用嵌套函數作用域鏈中的JavaScript
「在頂部級別的JavaScript代碼(即代碼不包含在任何函數定義中), 作用域鏈由單個對象組成,全局對象
在非嵌套函數中,作用域鏈由兩個對象組成
第一個是定義函數 參數和局部變量的對象,th第二個是全球性的對象。
在嵌套函數中,作用域鏈有三個或更多對象。
瞭解如何創建對象的鏈 是很重要的。
當定義一個函數時,它存儲範圍鏈然後生效。
當該函數被調用時,它會創建一個新對象來存儲其局部變量,並且 將新對象添加到存儲的作用域鏈中以創建一個新的更長的鏈,該鏈表示該函數調用的作用域。
對於 嵌套函數,這會變得更有趣,因爲每次調用外部函數時,都會再次定義內部函數 。
由於範圍鏈在每次調用外部函數時不同,因此內部函數在每次定義時都會有細微的差別 - 內部函數的代碼在每次調用外部函數時都是相同的,但範圍與該代碼關聯鏈 會有所不同。」
404:未找到問題。 – Lain
請使用「編輯」鏈接標記引用的部分並將其與問題分開。請也澄清你的問題。 –
完成和thanx。 –