我得到了这个代码:
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 对象。谁是正确的?
最佳答案
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
。
关于javascript - Opera 和 Firefox 给了我不同的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8532506/