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)
}
相关推荐
duapple1 小时前
Golang基于反射的ioctl实现
开发语言·后端·golang
Dxy12393102162 小时前
Python 条件语句详解
开发语言·python
勇闯逆流河3 小时前
【数据结构】堆
c语言·数据结构·算法
prinrf('千寻)4 小时前
MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题
java·开发语言·mybatis
pystraf4 小时前
LG P9844 [ICPC 2021 Nanjing R] Paimon Segment Tree Solution
数据结构·c++·算法·线段树·洛谷
香蕉可乐荷包蛋4 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
m0_555762904 小时前
Qt缓动曲线详解
开发语言·qt
未来之窗软件服务5 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
飞川撸码5 小时前
【LeetCode 热题100】739:每日温度(详细解析)(Go语言版)
算法·leetcode·golang
揽你·入怀5 小时前
数据结构:ArrayList简单实现与常见操作实例详解
java·开发语言