var a=11
function test1(){
this.a=22;
let b=function(){
console.log(this.a);
};
b();
}
var x=new test1();返回11 这个this为什么指向window?
1 回答
米脂
TA贡献1836条经验 获得超3个赞
除了箭头函数()=>{}外,每一个用function声明的函数在调用时都会在函数内创建自己的this。
也就是说,function声明的函数总是有自己的this。从而遮盖外层作用域中的this。
this一般是函数所操作的对象。
如果函数是直接调用,如你的代码 b();就没有指定操作的对象。这样,this在"use strict";严格模式下是 undefined,非严格模式下是 window。
添加回答
举报
0/150
提交
取消