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)
}
相关推荐
Deep-w1 分钟前
【MATLAB】基于MATLAB的图像加密传输平台【GUI+源码+项目说明】
开发语言·matlab·密码学
数据科学小丫2 分钟前
算法:逻辑回归
算法·机器学习·逻辑回归
Evand J4 分钟前
【MATLAB集群控制导航7】多无人机三维编队轨迹规划仿真。RRT*+Catmull-Rom路径平滑+Frenet 编队保持。附MATLAB代码链接
开发语言·matlab·无人机
爱写代码的小朋友9 分钟前
基于多约束遗传算法的中小学排座位优化模型研究
linux·人工智能·算法
один but you11 分钟前
unorder_map 和unorder_set
算法·哈希算法·散列表
天问一15 分钟前
router路由类型和使用方法
开发语言·javascript·ecmascript
jiayong2318 分钟前
前端面试题库 - JavaScript核心基础篇
前端·javascript·面试
JAVA面经实录91720 分钟前
Java多线程并发高频面试100题(完整版·含答案·背诵版)
java·开发语言·面试
sheeta199824 分钟前
LeetCode 每日一题笔记 日期:2026.05.20 题目:2657. 找到前缀公共数组
笔记·算法·leetcode
无限进步_29 分钟前
C++异常机制:抛出、捕获与栈展开
开发语言·c++·安全