2011-12-16 33 views
0

我得到這個代碼:Opera和Firefox給我不同的上下文

var config = {}; 
config.knock = { 
    self:null, 
    init : function(){ 
     self = this; 
     console.log(self) 
    } 
}; 

$(document).ready(function(){ 
    config.knock.init(); 
}); 

火狐(8)告訴我,自我是config.knock對象,但歌劇院(11.00)道出了Window對象。誰是對的?

回答

2

self[MDN]window對象的屬性。看來,Opera不允許覆蓋它。

如你不聲明與var您的變量,這

self = this; 

相同

window.self = this; 
你的情況

。您要麼var self,要麼config.knock.selfconfig.knock.selfthis.self

在Firefox以及Opera中,this將參考config.knock

+0

我創建了self來存儲對config.knock對象的context-agnostic引用,所以如果我使用config.knock.self是完全多餘的。我會改變自我的名字。 – 2011-12-16 10:07:09

相關問題