老师,这个this到底指向哪里,
来源:6-1 对象的扩展(简洁表示法与属性名表达式)
twtszz
2020-08-08 14:53:58
const getUserInfo = (id = 1) => {
const name = 'xiaoming';
const age = 10;
return {
name,
age,
say() {
console.log(this.name + this.age);
}
};
};
我在控制台打印this,显示的是window,然后又看到其他提问,又是指向return,又是指向getUserInfo(),到底指向哪
const xiaoming = getUserInfo();
1回答
好帮手慕久久
2020-08-08
同学你好,问题解答如下:
this到底指向谁,和this所在的环境有关系,简单说就是代码中不同位置的this,指向可能是不同的。关于this,提供给同学一条规则:谁调用函数,该函数中的this就指向谁。
比如下面的this,就是指向window:
原因是“getUserInfo()”这句代码,就类似于”window. getUserInfo()”,所以此处的this指向window。
而下面的this,则是指向“getUserInfo()”:
即“xiaoming”这个变量调用了say方法,那say方法中的this就指向“xiaoming”,而“xiaoming”是“getUserInfo()”的返回值,所以也可以说成是指向“getUserInfo()”。
同学试着理解一下。
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
相似问题