题目描述
将数组 arr 中的元素作为调用函数 fn 的参数
示例
//输入
function (greeting, name, punctuation) { //函数fn
return greeting + ', ' + name + (punctuation || '!');
}
['Hello', 'Ellie', '!']//数组arr
//输出
Hello, Ellie!
考查知识点:如何将数组传递给函数作为参数
fun.apply(thisArg ,[argArray] )
第一个参数指定this指针的指向,第二参数为传递的参数数组。call(thisArg ,arg1,arg2,… )
第一个参数指定this指针的指向,后面的参数需依次传入。...arguements
JS中的剩余参数,这个参数是一个没有对应形参的实参组成的一个数组,剩余参数就相当于一个数组,可以使用push、map等数组方法。
编程实现
function argsAsArray(fn, arr) {
return fn.apply(null,arr);//apply方法
//call方法: fn.call(null,...arr);
//...arr方法: fn(...arr);
}
function fun1(greeting, name, punctuation) {
return greeting + ', ' + name + (punctuation || '!');
}
argsAsArray(fun1, ['Hello', 'Ellie', '!']);