温馨提示×

在map内调用函数时使用this

MAP
小云
130
2023-09-21 04:43:17
栏目: 编程语言

在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属性。

0