Javascript 在对象内部的函数中访问对象的属性
这只是一个毫无意义的例子,但它完美地描述了我的问题 以下对象函数调用为Javascript 在对象内部的函数中访问对象的属性,javascript,object,Javascript,Object,这只是一个毫无意义的例子,但它完美地描述了我的问题 以下对象函数调用为bird属性提供undefined: const birds = { species:['Grey tinamou','Greater rhea','Dwarf cassowary'], bird: 'Bird', summary: function(){ return this.species.map(function(species) { return `${species} is a ${this.bir
bird
属性提供undefined
:
const birds = {
species:['Grey tinamou','Greater rhea','Dwarf cassowary'],
bird: 'Bird',
summary: function(){
return this.species.map(function(species) {
return `${species} is a ${this.bird}`;
});
}
};
birds.summary();
1) 如何访问对象函数中的bird
属性
2.1)我是否可以在不传入bird
属性本身的值的情况下执行此操作
这样:birds.summary(birds.bird)代码>
2.2)是否有更好的/另一种方法可以做到这一点?在常规函数中,这是调用函数的对象。如果调用birds.func()
,则在该函数中this===birds
。如果像调用func()
一样调用该函数,则上下文将是窗口
(在严格模式下未定义
)。在传递给map的回调函数中,此
是窗口
或未定义
。arrow函数的工作方式不同-它从声明它的上下文继承此
使用()=>{}从函数摘要中继承此
:
this.species.map((species) => {...
请阅读。谢谢您的回答!很抱歉打扰您,但这篇文章能帮我回答这个问题吗?为什么鸟属性可以在箭头函数中访问而不是使用常规函数?如果您是这么问的话,我懂俄语。@VitalyPlatonovаа,эааааааааааааааааааа107,本规范。鸟类。func(),фцццццццццццццццццц鸟。ааааааааа功能(),аааааааааааааааааааааааа。афааааааааааааааааааа映射,此
未定义
。Сааааааааааааааааааа-ааааааааааааааа,аааааааааа1072!我将浏览这篇文章,稍后编辑你的答案,这样其他人可以从中受益(文章的链接可能会断开)。如果你在我之前就这么做了,让我知道我会把它标记为已接受,谢谢。