js题解(二)

文章目录

函数传参

将数组 arr 中的元素作为调用函数 fn 的参数

方法一:使用apple(此题建议使用方法一)

javascript 复制代码
function argsAsArray(fn, arr) {
    return fn.apply(this,arr)
}

方法二:使用call

javascript 复制代码
function argsAsArray(fn, arr) {
    return fn.call(this,arr[0],arr[1],arr[2])
}

函数的上下文

方法一:直接将fn挂载到obj对象上

javascript 复制代码
function speak(fn, obj) {
    obj.fn = fn
    return obj.fn()
}

方法二:使用apply

javascript 复制代码
function speak(fn, obj) {
    return fn.apply(obj)
}

方法三:使用call

javascript 复制代码
function speak(fn, obj) {
    return fn.call(obj)
}

方法四:使用bind

javascript 复制代码
function speak(fn, obj) {
    return fn.bind(obj)()
}

返回函数

实现函数 functionFunction,调用之后满足如下条件:

1、返回值为一个函数 f

2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ', '

3、所有函数的参数数量为 1,且均为 String 类型

javascript 复制代码
function functionFunction(str) {
    return f = function(arr){
        return str+", "+arr;
    };
     
}

使用 arguments

函数 useArguments 可以接收 1 个及以上的参数。请实现函数 useArguments,返回所有调用参数相加后的结果。本题的测试参数全部为 Number 类型,不需考虑参数转换。

javascript 复制代码
function useArguments() {
    return [...arguments].reduce((a,b)=>a+b)
}
相关推荐
我是苏苏1 分钟前
C# Main函数中调用异步方法
前端·javascript·c#
ahadee10 分钟前
蓝桥杯每日真题 - 第12天
c++·vscode·算法·蓝桥杯
转角羊儿12 分钟前
uni-app文章列表制作⑧
前端·javascript·uni-app
一二小选手18 分钟前
【Java Web】分页查询
java·开发语言
大G哥19 分钟前
python 数据类型----可变数据类型
linux·服务器·开发语言·前端·python
zhentiya23 分钟前
微积分第五版课后习题答案详解PDF电子版 赵树嫄
算法·pdf
Code成立33 分钟前
《Java核心技术 卷I》用户图形界面鼠标事件
java·开发语言·计算机外设
luky!1 小时前
算法--解决熄灯问题
python·算法
Xiao Fei Xiangζั͡ޓއއ1 小时前
一觉睡醒,全世界计算机水平下降100倍,而我却精通C语言——scanf函数
c语言·开发语言·笔记·程序人生·面试·蓝桥杯·学习方法
记录无知岁月1 小时前
【MATLAB】目标检测初探
开发语言·yolo·目标检测·matlab·yolov3·yolov2