談談對this 物件的理解
阿新 • • 發佈:2019-02-13
可以先回答this在不同的場合指向的是什麼,在來回答什麼時候用到this
this的指向
this表示當前物件,this的指向是根據呼叫的上下文來決定的,預設指向window物件,指向window物件時可以省略不寫,
例如:
this.alert() <=> window.alert()<=> alert();
1、呼叫的上下文環境包括全域性和區域性
全域性環境就是在<script></script>裡面,這裡的this始終指向的是window物件,
<script>
console.log(<strong>this</strong>);//指向window物件
</script>
區域性環境
1)在全域性作用域下直接呼叫函式,this指向window
function func(){
console.log(this) ;//this指向的還是window物件
}
func()
2)物件函式呼叫,哪個物件呼叫就指向哪個物件
3)使用 new 例項化物件,在建構函式中的this指向例項化物件。
4)使用call或apply改變this的指向
加分項
1. 用於區分全域性變數和區域性變數,需要使用this
2.返回函式當前的物件,
3.將當前的物件傳遞到下一個函式