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)
}
相关推荐
peak_chan11 分钟前
通过vue-virtual-scroller封装虚拟滚动el-select
前端·javascript·vue.js
小李子呢021120 分钟前
前端八股Vue(7)---computed计算属性和watch侦听器
前端·javascript·vue.js
TImCheng060928 分钟前
内容运营岗位适合考哪个AI证书,与算法认证侧重点分析
人工智能·算法·内容运营
吴声子夜歌29 分钟前
ES6——对象的扩展详解
开发语言·javascript·es6
aq553560035 分钟前
编程语言对比:从汇编到PHP的四大层级解析
开发语言·汇编·php
赵域Phoenix38 分钟前
混沌系统是什么?
人工智能·算法·机器学习
kyle~40 分钟前
工程数学---Eigen库(C++唯一标配线性代数库)
开发语言·c++·线性代数
CoderCodingNo43 分钟前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
paeamecium44 分钟前
【PAT甲级真题】- All Roads Lead to Rome (30)
数据结构·c++·算法·pat考试·pat
好家伙VCC1 小时前
**发散创新:基于Rust的轻量级权限管理库设计与开源许可证实践**在现代分布式系统中,**权限控制(RBAC
java·开发语言·python·rust·开源