javascript中的this指向
javascript中,this的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定,this最終指向調用它的對象。
1.函數調用模式(指向window)
當函數不為對象的屬性,即只是單純的函數調用,此時,this被綁定為全局變量,也就是指向的是瀏覽器下的window對象。

2.方法調用模式(指向對象)
當函數被保存為到對象的屬性時,就稱為這個對象的方法。當被調用時,this被綁定到這個對象上。如果調用表達式包含一個提取屬性的動作(通過. 或 []),那么它被稱為方法調用,此時,this指向的是當前的對象,也就是obj。


undefined是因為在myName作用域中沒有name這個變量

3.構造函數調用

使用new運算符創建出一個新對象,this會被綁定到這個新對象上。這個函數就可以成為此對象的構造函數,此時的this指向這個新對象
4.事件調用函數(指向調用的節點)

5.ES6箭頭函數中的this

ES6中this指向是上下文的指向,也可以說是父級函數的指向。
浙公網安備 33010602011771號