在map内调用函数时使用this

avatar
作者
筋斗云
阅读量:7

在JavaScript中,可以使用箭头函数来在map内部调用函数并使用this。箭头函数不会创建自己的this,而是继承最近的父级作用域中的this。

以下是一个示例:

const obj = { name: "John", getName() { return this.name; }, }; const names = ["Alice", "Bob", "Charlie"]; // 使用箭头函数在map内调用getName方法并使用obj作为this const result = names.map((name) => obj.getName.call(obj)); console.log(result); // ["John", "John", "John"] 

在这个例子中,我们定义了一个obj对象,其中包含一个getName方法,返回该对象的name属性。然后,我们定义了一个names数组,包含一些名字。我们使用map方法遍历names数组,并在每个元素上调用obj.getName方法。由于我们在map内部使用了箭头函数,箭头函数继承了最近的父级作用域(即obj对象)中的this,所以我们可以在箭头函数内部使用this来引用obj对象。

在箭头函数内部,我们使用了call方法来设置getName方法中的this为obj对象。最后,我们将map返回的结果打印到控制台上,得到了[“John”, “John”, “John”]。这表明在map内部成功地使用this调用了getName方法,并获取了obj对象的name属性。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!