Opera和Firefox给了我不同的背景

时间:2011-12-16 09:59:00

标签: javascript

我收到了这段代码:

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对象。谁是对的?

1 个答案:

答案 0 :(得分:2)

self [MDN]window对象的属性。 Opera似乎不允许覆盖它。

由于您未使用var声明变量,因此

self = this;

相同
window.self = this;

在你的情况下。

您要么var self,要么想要config.knock.selfconfig.knock.selfthis.self

在Firefox和Opera中,this将引用config.knock