请问下老师关于this指向的问题
来源:3-5 非箭头函数中的 this 指向
kasugan
2021-04-20 15:11:33
相关代码:
相关代码: <script>
var a = 11
function test1() {
this.a = 22;
let b = function () {
console.log(this.a);
};
b();
}
var x = new test1();
</script>
老师请问为什么这里的结果是11,而不是22呀
2回答
同学你好,在同学所提供的代码中,不管是使用let还是使用var定义b,在非严格模式下,b中的this都指向window。祝学习愉快~
好帮手慕言
2021-04-20
同学你好,构造函数中的this,指向的是实例化出来的对象,this.a相当于给对象添加了a属性。如下:
在代码中,非严格模式下,函数b中的this指向window,全局中定义了a的值为11,所以this.a访问的是window上的a属性,打印的值为11。
祝学习愉快~
相似问题