牛客网编程练习之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; }第三题尝试做出来了但还不是太懂,等弄懂了再来更新。
阅读全文
0 0
- 牛客网编程练习之JS函数封装
- 练习之js继承的封装
- PHP-封装函数练习
- js之函数式编程
- JS基础学习应用之ajax.js函数的封装
- js封装函数
- js 函数简单封装
- js 函数封装
- JS继承 封装函数
- 封装js运动函数
- js封装函数
- js封装ajax函数
- JS封装继承函数
- js常用函数封装
- js封装函数
- js封装cookie函数
- JS编程练习
- js编程练习
- 记matlab遇到的函数(一)--linspace
- C语言编程之识别合法帧(2)
- openslide处理大图
- springMVC 入门程序 helloworld!
- 前缀和--cf816b karen and coffee
- 牛客网编程练习之JS函数封装
- Android ListView异步加载图片乱序问题,原因分析及解决方案
- 编程计算含有汉字的字符串长度
- HP-Socket v4.3.1,高性能 TCP & HTTP 通信框架
- 解决图片加载错位的类
- 39-二叉树的深度
- JS基础知识点梳理
- java基础(一):进制,运算符,流程控制,函数,数组
- Android Volley解析(1)