當一個對象的函數被調用時,對象將被傳遞到執行上下文中,作為這個值。簡單來說,就是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指向(寫什么是什么);
第二個參數以后,指向實參。