(1) 在全局執行環境中使用this,標識Global對象,在浏覽器中就是window對象。
(2)當在函數執行環境中使用this時,如果函數沒有明顯的作為非window對象的屬性,而是只是定義了函數,不管這個函數是不是定義在另一個函數中,這個函數中的this仍然標識window對象。如果函數顯示地作為一個非window對象的屬性,那麼函數中的this就代表這個對象。
復制代碼 代碼如下:
var o=new Object;
o.func=function()
{
alert((this===o));
(function(){
alert((this===window));
}
)();
}
o.func();
(3) 當通過new運算符來調用函數時,函數被當作一個構造函數,this指向構造函數創建出來的對象。
更詳細的可以參考
Javascript this指針