Javascript &引用;当我们在某处传递一个匿名函数时,";这";“丢失了”;。这是什么意思?
我正在学习有关Javascript和ES6的教程,在下面的示例中,我遇到了一个错误: “TypeError:无法读取未定义的属性'teamName'。” 导师解释道:“每当我们在代码库的某个地方传递匿名函数时,Javascript &引用;当我们在某处传递一个匿名函数时,";这";“丢失了”;。这是什么意思?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在学习有关Javascript和ES6的教程,在下面的示例中,我遇到了一个错误: “TypeError:无法读取未定义的属性'teamName'。” 导师解释道:“每当我们在代码库的某个地方传递匿名函数时,这个函数内部的值就会丢失!”他这是什么意思?this不应该保留进行调用的对象,这不是意味着team.teamName将返回Avengers?我很困惑。 另外,当我们使用.bind(this)时,如何解决这个问题 使用箭头函数(=>)如下所示。它们有助于保留调用函数的此 const team
这个
函数内部的值就会丢失!”他这是什么意思?this
不应该保留进行调用的对象,这不是意味着team.teamName
将返回Avengers
?我很困惑。
另外,当我们使用.bind(this)
时,如何解决这个问题
使用箭头函数(=>)如下所示。它们有助于保留调用函数的此
const team = {
members: ['Tony', 'Peter'],
teamName: 'Avengers',
teamSummary: function() {
return this.members.map((member) => {
return `${member} is a member of ${this.teamName}`;
});
}
};
team.teamSummary();
请阅读此文章,了解同一解决方案的更多修复方法
函数(成员){
如果您仍然有问题,请随意提问:)“不应该此
保留进行调用的对象”,但是在类似somefunction(回调){…callback();}的上下文中
调用callback()的对象是什么?
?嘿,谢谢!我知道问题的解决方案。我只是想知道为什么它会显示错误。请阅读我在编辑文章中提到的博客。它会向你解释所有的事情
const team = {
members: ['Tony', 'Peter'],
teamName: 'Avengers',
teamSummary: function() {
return this.members.map((member) => {
return `${member} is a member of ${this.teamName}`;
});
}
};
team.teamSummary();