您的位置:首页 > 新闻 > 会展 > php建站视频教程_c2c电商网站有哪些_上海关键词推广_营销型外贸网站建设

php建站视频教程_c2c电商网站有哪些_上海关键词推广_营销型外贸网站建设

2025/1/15 23:27:18 来源:https://blog.csdn.net/qq_14993591/article/details/144108946  浏览:    关键词:php建站视频教程_c2c电商网站有哪些_上海关键词推广_营销型外贸网站建设
php建站视频教程_c2c电商网站有哪些_上海关键词推广_营销型外贸网站建设

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

面试题:实现一个add方法,使计算结果能够满足如下预期:
add(1)(2)(3) = 6;
add(1, 2, 3)(4) = 10;
add(1)(2)(3)(4)(5) = 15;

// 保存不定长参数
let nums = [];
function add(...args) { // 往数组中插入不定长参数nums.push(...args)// 判断参数的个数if(nums.length >= 5) {// 长度大于等于5时,返回累加结果// 注意:就算大于五个参数,也只会返回前五个参数的累加结果// 这里使用了reduce方法,对数组中的每个元素进行累加// slice方法用于截取数组中的前五个元素const res = nums.slice(0, 5).reduce((prev, next) => prev + next, 0);return res;} else {// 2.2 长度没到5 返回函数接收剩余参数return add;}}

或者

function add() {// 第一次执行时,定义一个数组专门用来存储所有的参数var _args = Array.prototype.slice.call(arguments);// 在内部声明一个函数,利用闭包的特性保存_args并收集所有的参数值var _adder = function() {_args.push(...arguments);return _adder;};// 利用toString隐式转换的特性,当最后执行时隐式转换,并计算最终的值返回_adder.toString = function () {return _args.reduce(function (a, b) {return a + b;});}return _adder;
}

参考:

JavaScript函数柯里化 - Web前端工程师面试题讲解
JS详解-函数柯里化
详解JS函数柯里化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com