我收到了这段代码:
var config = {};
config.knock = {
self:null,
init : function(){
self = this;
console.log(self)
}
};
$(document).ready( function(){
config.knock.init();
});
Firefox(8)告诉我self是config.knock对象,但Opera(11.00)告诉我的Window对象。谁是对的?
答案 0 :(得分:2)
self
[MDN]是window
对象的属性。 Opera似乎不允许覆盖它。
由于您未使用var
声明变量,因此
self = this;
与
相同window.self = this;
在你的情况下。
您要么var self
,要么想要config.knock.self
,config.knock.self
或this.self
。
在Firefox和Opera中,this
将引用config.knock
。