1. 程式人生 > >You Don't Know JS: Scope & Closures (附加:Lexical/dynamic作用域)

You Don't Know JS: Scope & Closures (附加:Lexical/dynamic作用域)

附加 val 變量 一個 動態 types object auth 第二章

JavaScript只有Lexical Scope 模式

Lexical Scope就是在寫代碼的時候,定義函數的時候創建的作用域!

動態作用域是在runtime時,函數被調用的地方的作用域!

實際上 dynamic Scope是 this關鍵字的近親。這會在this & Object Prototypes系列講解。

第二章,lexical scope是這方面的法則:Engine如何查詢一個變量,在哪找到這個變量!

關鍵特征就是lexical scope是定義在author-time,打代碼的階段。(並不使用eval())

最後: this關鍵字關心一個函數如何被調用,這證明了this機制和動態作用域的相關性!


You Don't Know JS: Scope & Closures (附加:Lexical/dynamic作用域)