定義:this是包含它的函數(shù)作為方法被調(diào)用時所屬的對象拷邢。
說明:這句話有點咬嘴袱院,但一個多余的字也沒有,定義非常準(zhǔn)確,我們可以分3部分來理解它忽洛!
1腻惠、包含它的函數(shù)。2欲虚、作為方法被調(diào)用時集灌。3、所屬的對象复哆。
看例子:
function to_green(){
this.style.color="green";
}
to_green();
上面函數(shù)中的this指的是誰欣喧?
分析:包含this的函數(shù)是,to_green
該函數(shù)作為方法被調(diào)用了
該函數(shù)所屬的對象是梯找。唆阿。?我們知道默認(rèn)情況下锈锤,都是window對象驯鳖。
OK,this就是指的window對象了久免,to_green中執(zhí)行語句也就變?yōu)榫矢簦瑆indow.style.color="green"
這讓window很上火,因為它并沒有style這么個屬性妄壶,所以該語句也就沒什么作用摔握。
我們在改一下。
window.load=function(){
var example=document.getElementById("example");
example.onclick=to_green;
}
這時this又是什么呢丁寄?
我們知道通過賦值操作氨淌,example對象的onclick得到to_green的方法,那么包含this的函數(shù)就是onclick嘍伊磺,
那么this就是example引用的html對象嘍盛正。
this的環(huán)境可以隨著函數(shù)被賦值給不同的對象而改變!
下面是完整的例子:
function to_green(){
this.style.color="green";
}
function init_page(){
var example=document.getElementById("example");
example.onclick=to_green;
}
window.onload=init_page;