本系列文章是本人學習相關知識時所積累的筆記,以記錄自己的學習歷程,也爲了方便回顧知識;故文章內容較爲隨意簡練,抱着學習目的來的同學務必轉移他處,以免我誤人子弟~
- this是函數運行時,在函數體內部自動生成的一個對象,只能在函數體內部使用。
- the value of this is determined by how a function is called
- 作爲普通函數:this 指向全局對象
- 作爲對象方法:this 指向對象本身
- 作爲構造函數:this 指向該構造函數創建的實例
- 使用 apply、call、bind 調用:this 指向指定的對象
箭頭函數的this
function 中的this指向調用該函數時所在的環境變量;
() => {} 中的this指向定義該函數時所在的環境變量;
因此,箭頭函數不可使用apply、call、bind 調用,箭頭函數會忽視指定對象
執行上下文
- 執行棧(調用棧):用來存放代碼運行時產生的全部執行上下文
- 執行上下文:創建階段和調用階段
- 詞法環境組件和變量環境的一個不同就是前者被用來存儲 函數聲明和變量(let 和 const) 綁定,而後者只用來存儲 var 變量綁定