记录一个看到的关于js的问题

今天在牛客网看到一个有点意思的问题:

 

以下代码,控制台输出的是什么?

 1     var a = 1;
 2 
 3     function f1(){
 4       console.log(this.a);
 5     }
 6     function f2(){
 7       var a = 3;
 8       f1();
 9     }
10 
11     f2();

 

答案是 1

 个人理解:f1是定义在全局作用域中的,因此调用f1时,它会向上查找到全局作用域中的a,因此输出 1

posted @ 2020-09-02 22:17  agnh32oh  阅读(79)  评论(0)    收藏  举报