这里的this怎么理解?

 var a=11
function test1(){
 this.a=22;
 let b=function(){
 console.log(this.a);
 };
 b();
}
var x=new test1();
  • 返回11 这个this为什么指向window?


Qyouu
浏览 483回答 1
1回答

米脂

除了箭头函数()=>{}外,每一个用function声明的函数在调用时都会在函数内创建自己的this。也就是说,function声明的函数总是有自己的this。从而遮盖外层作用域中的this。this一般是函数所操作的对象。如果函数是直接调用,如你的代码 b();就没有指定操作的对象。这样,this在"use strict";严格模式下是 undefined,非严格模式下是 window。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript