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]=“不正确”在您的示例中,code>最终成为“no op”(一个最终不会做任何事情的操作)。数组元素是数字,因此该语句为数字原语创建一个Number
对象,设置其“11”
属性,然后丢弃该对象,返回原语数字。在极少数情况下,将函数作为thisArg
传递是有意义的,但是……是的,这里没有。:-)否,元素[11]=“不正确”代码>不会引发任何错误。