this指向以及如何改變this指向

當一個對象的函數被調用時,對象將被傳遞到執行上下文中,作為這個值。簡單來說,就是function中的this永遠指向調用它的對象。我們也可以在編碼中顯式的,主動的變更其指向。

this的幾種不同的使用場景,也就是函數調用時的this指向:

1.純函數調用 this指向window
2.事件調用 誰調用這個函數,this就指向誰
3.定時器調用 在定時器中,this指向window
4.構造函數調用 構造函數生成一個新的對象,this指向新建的這個對象
5.apply this指向apply中的第一參數

改變this指向的方法
1.call

有若干個參數。
第一個參數是this指向(寫什么是什么);
第二個參數及以后,是寫什么是什么。

2.apply

有兩個參數。
第一個參數是this指向(寫什么是什么);
第二個參數:數組[ ],數組中放的就是實參。

3.bind

返回值為一個修改完this的函數,需要主動調用。
也有若干個參數。
第一個參數是this指向(寫什么是什么);
第二個參數以后,指向實參。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。