javascript 中的 array.map() 和 array.filter() 方法中的 thisvalue 参数
javascript 内置的 array.map() 和 array.filter() 方法提供了强大的数据操作功能,其签名中有一个鲜为人知但非常有用的参数:thisvalue。
thisvalue 的用法
thisvalue 参数是一个可选参数,用于指定在回调函数中 this 关键字的值。默认情况下,this 关键字指向全局对象(在浏览器中为 window)。然而,通过指定 thisvalue,我们可以手动指定 this 关键字的值。
例如,考虑以下代码:
const arr = [1, 2, 3]; arr.map((num) => { console.log(this); });
在这个例子中,回调函数中 this 的默认值是 window,因为 thisvalue 没有被指定。然而,我们可以用一个对象来指定 thisvalue,如下所示:
const myObject = {a: 1}; arr.map((num) => { console.log(this); }, myObject);
现在,当回调函数被调用时,this 将指向 myobject。这意味着我们可以从回调函数中访问 myobject 的属性和方法。具体来说,我们可以通过 this.a 访问 myobject 的 a 属性。