首页 > 试题广场 >

函数传参

[编程题]函数传参
  • 热度指数:59255 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
将数组 arr 中的元素作为调用函数 fn 的参数
示例1

输入

function (greeting, name, punctuation) {return greeting + ', ' + name + (punctuation || '!');}, ['Hello', 'Ellie', '!']

输出

Hello, Ellie!
头像 牛妹wpiami
发表于 2020-08-06 16:16:50
主要使用apply或call调用,两种方法均会改变this的指向。apply :第一个参数:函数体内this的指向,第二个参数:接收一个集合对象(数组和类数组)call:第一个参数L函数体内的this指向,第二个参数往后是依次传入的参数 方法一:使用apple(此题建议使用方法一) function 展开全文
头像 驊驊龔頾
发表于 2021-03-05 17:06:21
1、直接当成参数传递 function argsAsArray(fn, arr) {     return fn && fn(...arr); } 2、使用apply func 展开全文
头像 浅蓝同学
发表于 2022-04-27 16:33:52
一、该题知识点 - call()和apply() 一般来说,this总是指向调用某个方法的对象,但使用call()和apply()方***改变this的指向 调用函数有3种方式: obj.fn(); fn.call(obj,args); //参数列出 fn.apply(obj,[m,n.... 展开全文
头像 snoopydate
发表于 2023-03-28 18:23:44
代码: function argsAsArray(fn, arr) { return fn(...arr) } 解释一下原理: // 扩展运算符可以将数组拆分成以逗号分隔的参数序列 let ary = ["a", "b", "c"]; //...ary // "a", "b", "c" // 展开全文
头像 前端消防圆
发表于 2023-06-24 14:25:39
思路:使用...析构。 function argsAsArray(fn, arr) { return fn(...arr) } 总结:使用...析构从而将数组转换为一系列参数。
头像 Q同学来了
发表于 2021-10-08 22:37:37
主要使用apply或call调用,两种方法均会改变this的指向。 apply :第一个参数:函数体内this的指向,第二个参数:接收一个集合对象(数组和类数组) call:第一个参数L函数体内的this指向,第二个参数往后是依次传入的参数 一般情况都是对象调用函数,此处是函数调用数组对象,用cal 展开全文
头像 agul
发表于 2021-07-18 07:12:20
function argsAsArray(fn, arr) { // return fn(...arr) // return fn.call(this, ...arr) // return fn.apply(this, arr) return fn.bind(this 展开全文
头像 想去三亚看海的大西瓜在划水
发表于 2023-04-04 08:08:59
function argsAsArray(fn, arr) { return fn.apply(this, arr); } function argsAsArray(fn, arr) { return fn.call(this, ...arr); } function argsA 展开全文
头像 王鑫DreamFox
发表于 2022-06-16 14:29:54
apply的使用。 function argsAsArray(fn, arr) {     return fn.apply(this, arr); }
头像 怕浪猫
发表于 2022-04-26 11:07:08
fn.apply(this, arr) 改变this 指向的方法有三种, call() applay() bind() 区别 fn.call()接收的是多个参数的形式,如: fn.call(this,参数1,参数2,参数3,,,) fn.apply()接收的是一个参数数组,如: fn.apply 展开全文