Javascript 这里面的生命指向窗户?

Javascript 这里面的生命指向窗户?,javascript,this,Javascript,This,在JavaScript中学习这个。我对这种生活的范围感到困惑。为什么这指向生活中的窗口对象?这应该指向myObj,因为它位于myObj内部 window.foo=“bar1”; var myObj={ 傅:“酒吧2”, func:function(){ var self=这个; log(this.foo+,“+self.foo); (职能xx({ log(this.foo+,“+self.foo) }()); } } myObj.func()函数xx被称为IIFE,这是一个简单的函数调用。根据

在JavaScript中学习这个。我对这种生活的范围感到困惑。为什么这指向生活中的窗口对象?这应该指向myObj,因为它位于myObj内部

window.foo=“bar1”;
var myObj={
傅:“酒吧2”,
func:function(){
var self=这个;
log(this.foo+,“+self.foo);
(职能xx({
log(this.foo+,“+self.foo)
}());
}
}

myObj.func()函数
xx
被称为IIFE,这是一个简单的函数调用。根据规范,在简单函数调用中,全局对象(浏览器中的窗口)被分配给
this

window.foo=“bar1”;
var myObj={
傅:“酒吧2”,
func:function(){
var self=这个;
log(this.foo+,“+self.foo);
(职能xx({
log(`this===window:`,this==window);
log(this.foo+,“+self.foo)
}());
}
}

myObj.func()
将是
窗口
,正确。您没有处于严格模式,也没有在任何上下文中执行IIFE,因此
默认为
窗口