租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

在map内调用函数时使用this,map函数用法

发布时间:2023-09-21 07:43:24

在map内调用函数时使用this

在JavaScript中,可使用箭头函数来在map内部调用函数并使用this。箭头函数不会创建自己的this,而是继承最近的父级作用域中的this。
以下是一个示例:
```javascript
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属性。