在最近的學習課程中,接觸到了this這個代碼的使用方法。有幾點關於this的使用方法。接下來以個人理解做爲出發點,來分析一下this的使用。bash
遇到this,必定要記得這一句:函數執行時,this老是指向調用該函數的對象,即判斷this所在的函數屬於誰。
函數
1、函數有所屬對象,則指向所屬對象學習
這裏的getValue屬於對象myObject,因此this就指向myObject,執行結果以下:ui
2、函數沒有所屬對象時,就指向全局對象windowthis
在這裏,foo屬於全局對象,因此foo函數打印的this.value爲undefined。執行結果以下: 3、setTimeout和setInterval方法也是屬於全局對象的,因此在這兩個函數體內this是指向全局的,因此也是這種狀況,以下: 執行結果以下: 4、箭頭函數中的this(這個this綁定的是定義時所在的做用域,而不是運行時所在的做用域,箭頭函數其實沒有本身的this,因此箭頭函數內部的this其實是外部的this)代碼以下:var myObject={
value:100
};
myObject.getValue=function(){
setTimeout(()=>{
console.log(this.value);
console.log(this);
},0);
return this.value;
}
console.log(myObject.getValue());
複製代碼
以上就是我對於this的怎樣使用的理解。spa