函數中this對象的取值,是在函數被調用執行的時候確定的。(函數調用時會產生執行上下文環境)
分爲以下五種情況:
1. 函數是構造函數
this代表將要創建的對象。
注意:如果將構造函數當做函數調用,則this==window。
2. 函數作爲對象的屬性
如果函數作爲對象的一個屬性,並且作爲該對象的屬性被調用時。函數中的this代表該對象。
注意:如果該函數被賦值給一個變量,則this==window。
3 .函數用call()或apply()調用
this的值爲傳入對象的值。
4. this在全局環境下
this==window
5. 普通函數
普通函數調用時,this==window。
6.函數存在於原型對象的方法中
this代表當前對象的值。