this永遠指向函數(shù)運行時所在的對象杀饵,而不是函數(shù)被創(chuàng)建時所在的對象。
一.普通函數(shù)中的this指向
1.作為函數(shù)名調(diào)用
函數(shù)作為全局對象調(diào)用祝辣,this指向全局對象。
2.作為方法調(diào)用
函數(shù)作為對象的一個屬性尿这,成為該對象的一個方法,this指向該對象庆杜。
3.作為構(gòu)造函數(shù)使用
用new調(diào)用的函數(shù)射众,this指向被綁定的那個對象上面。
4.apply或call被調(diào)用
函數(shù)this指向apply或call調(diào)用時的第一個參數(shù)晃财。
二.箭頭函數(shù)中的this
箭頭函數(shù)的this指向父級作用域叨橱。
總結(jié):this指向永遠是最后調(diào)用它的對象。
下面的例子中断盛,最后一個調(diào)用函數(shù)的對象是b罗洗,所以這里的this指向b對象。
下面例子中钢猛,最后一個調(diào)用函數(shù)的對象是c伙菜,而c是全局定義的變量,所以這里的this指向windows命迈。