3 回答

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
方法調(diào)用的時(shí)候,會(huì)有this指針的傳遞
例如:
a.doSomething();
那么,在doSomething這個(gè)函數(shù)域中,this指針指向的就是對(duì)象a
如果直接調(diào)用doSomething(),那么,this指針指向的是全局對(duì)象,即window

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
function test1(){ alert(this.a);//global}
上面格式的聲明函數(shù)都是全局作用域
而
test1 = function() {} or {test1 : function() {}}
這種格式聲明的函數(shù)則距具有和變量(屬性)相同的作用域

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
this的指向是在執(zhí)行的時(shí)候綁定的。this指向和函數(shù)調(diào)用的方式有關(guān)。obj.test()是test作為對(duì)象的方法調(diào)用的,所以test中的this指向這個(gè)對(duì)象,因此輸出obj中的a;而test1()在雖然在test中執(zhí)行,但是和作用域無關(guān)。作為函數(shù)直接調(diào)用的,所以這個(gè)this指向了window,因此輸出window中的a。
添加回答
舉報(bào)