这段JS代码的作用域为什么是window了?

var a=1;

var b={

  a:2,

  b:function(){

    console.log(this.a);

  }(), 

  f:this.f=function(){

    console.log(this.a);

  }

};

function f(){ console.log(3); }

f();

b.f();

(b.f)();

(0,b.f)();

有这样一段代码,答案是1、1、2、2、1,第一个答案是1是因为b.b是个立即执行函数,但是为什么后面的答案是1221了??

慕码人2483693
浏览 619回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript