javascript中this關鍵字詳解

this對象是在運行時基於函數的執行環境綁定的。在全局函數中,this等於window,而當函數被作爲某個對象的方法調用時,this等於那個對象。也就是說this關鍵字總是指代調用者。

var k = 10 ; 
function test(){
    this.k = 20 ;
}
//window.test();
window.test();
//alert(test.k); undefined
alert(k);

對於上述的代碼片段,執行以下各測試代碼運行結果:

alert(test.k);   //undefined

因爲this對象只會在運行的時候被綁定


test();
alert(test.k);  //undefined

因爲this被綁定的是調用這個函數的對象,也就是當前window


test();
alert(window.k);  //20
alert(k);   //20

實際上是覆蓋了之前申明的全局變量a=10

發佈了85 篇原創文章 · 獲贊 12 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章