牛客网编程练习之JS函数封装

来源:互联网 发布:hub网络 编辑:程序博客网 时间:2024/05/19 12:25


第一题:

    /**     * 题目:已知函数 fn 执行需要 3 个参数。请实现函数 partial,调用之后满足如下条件:     * 1、返回一个函数 result,该函数接受一个参数     * 2、执行 result(str3) ,返回的结果与 fn(str1, str2, str3) 一致     * @param fn     * @param str1     * @param str2     */    function partial(fn, str1, str2) {        var result = function (str3) {            return fn(str1,str2,str3);        };        return result;    }    //输入    var sayIt = function(greeting, name, punctuation) {        return greeting + ', ' + name + (punctuation || '!');    };    console.log(partial(sayIt, 'Hello', 'Ellie')('!!!'));    //输出    //Hello, Ellie!!!

第二题:
/**     * 函数 useArguments 可以接收 1 个及以上的参数。     * 请实现函数 useArguments,返回所有调用参数相加后的结果。     * 本题的测试参数全部为 Number 类型,不需考虑参数转换。     * @param num     * @returns {number}     */    function useArguments(num) {        var sum = 0;        for(var i=0;i<arguments.length;i++){            sum+=arguments[i];        }        return sum;    }    //输入:1,2,3,4  输出:10    console.log(useArguments(1,2,3,4));

第三题:
    /**     * 实现函数 partialUsingArguments,调用之后满足如下条件:     1、返回一个函数 result     2、调用 result 之后,返回的结果与调用函数 fn 的结果一致     3、fn 的调用参数为 partialUsingArguments 的第一个参数之后的全部参数以及 result 的调用参数     * @param fn     */    function partialUsingArguments(fn) {        var newArguments0 = Array.prototype.slice.call(arguments);        var newArguments1 = Array.prototype.slice.call(arguments,1);        var result = function () {            return fn.apply(null,newArguments1.concat(newArguments0));        };        return result;    }

第三题尝试做出来了但还不是太懂,等弄懂了再来更新。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 11选5输了6万 怎么办 k宝密码忘了怎么办5次 k宝密码输错5次怎么办 上火了牙疼怎么办怎样快速止疼 身体不吸收营养胖不起来怎么办 突然牙疼怎么办教你立刻止疼 蛀牙疼怎么办教你立刻止疼 做了牙套的牙疼怎么办 牙疼怎么办教你立刻止疼 七个月宝宝便秘拉不出来怎么办 喝酒脸上起了很多小红疙瘩怎么办 我的脸又痒又红怎么办 脸又红又痒又烫怎么办 满脸痘痘怎么办全部都是红的 身上起大片扁疙瘩很痒怎么办 我急用钱借钱又借不到怎么办 小孩蛀牙牙疼怎么办教你立刻止疼 牙齿里面长了个小牙齿怎么办 2岁宝宝又吐又拉怎么办 u盘坏了怎么办没反应了 怀孕了不知道孩子是谁的怎么办 怀孕八个月耻骨疼的厉害怎么办 没感情了这段婚姻该怎么办 1岁半宝宝o型腿怎么办 4s店没按时交车怎么办 几天几夜睡不着觉没有睡意怎么办 辣的吃多了胃疼怎么办 喉咙痛怎么办有最好即简单好得快 减肥过后皮肤留下的肥胖纹怎么办 用了完美玛丽艳脸上长痘痘怎么办 腰疼怎么办8方法解决腰疼 红米3x开不了机怎么办 苹果手机忘记了锁屏密码怎么办 小米5的4g网速慢怎么办 红米4a卡机了怎么办 信而富逾期3个月怎么办 苹果6锁屏密码忘了怎么办 孕8个月咳嗽有痰怎么办 微信红包输了6万怎么办 红米3s开不了机怎么办 核载5人载了6人怎么办