JavaScript高阶函数中的附加参数是如何工作的?

JavaScript高阶函数中的附加参数是如何工作的?,javascript,Javascript,我对高阶函数如何与附加参数一起工作有些困惑。比如说: let Array1 = [[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]]; let Array2 = Array1.map(element => { element[4] = -6; return element; },() => { //Now this is the part which I need to know

我对高阶函数如何与附加参数一起工作有些困惑。比如说:

let Array1 =  [[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]];

let Array2 = Array1.map(element => {
element[4] = -6;
return element;
},() => {
            //Now this is the part which I need to know
            //function2 execution
           console.log("Hey How does this function work");
});

我有兴趣了解
函数2
执行,它是如何工作的?完成第一个参数后,执行是当它转到
函数2
时,它的用途是什么?我们如何利用传递多个函数的优势?它是否用于
async
处理?

从本文中的文档中可以看出,
map
函数的第二个参数不是另一个函数。

它被称为
thisArg
,表示“在执行
回调时用作
this
的值”。

您误解了第二个参数。它定义了应该在回调函数中使用的
这个


仅供参考,
元素[11]=“不正确”
将抛出错误,因为
元素
是数字类型。

您的示例没有真正意义。赋值
元素[11]=…
确实不正确,第二个函数从未被调用,因此它不“工作”。“第一个参数完成后执行”-不确定这是什么意思。您是否了解
map
如何正常工作(使用单个函数)?“它有什么用途?”-无,不使用。“我们如何利用传递多个函数的优势?”-我们没有。“它是否用于异步处理?”-不,这与此无关。
element[11]=“不正确”最终成为“no op”(一个最终不会做任何事情的操作)。数组元素是数字,因此该语句为数字原语创建一个
Number
对象,设置其
“11”
属性,然后丢弃该对象,返回原语数字。在极少数情况下,将函数作为
thisArg
传递是有意义的,但是……是的,这里没有。:-)否,
元素[11]=“不正确”不会引发任何错误。