请实现specialMultiply函数:支持双参数返回乘积或单参数返回闭包
实现specialMultiply函数
我们可以通过arguments对象判断传入参数的个数,结合闭包来实现需求:
- 当函数接收到2个参数时,直接返回两个参数的乘积
- 当仅接收到1个参数时,返回一个闭包函数,该函数会记住第一个参数,后续传入第二个参数后计算两者的乘积
代码实现
function specialMultiply() { if (arguments.length === 2) { return arguments[0] * arguments[1]; } else if (arguments.length === 1) { const num = arguments[0]; return function(secondNum) { return num * secondNum; }; } }
验证示例
specialMultiply(3,4); // 12 specialMultiply(3)(4); // 12 specialMultiply(3); // 返回一个函数
内容的提问来源于stack exchange,提问作者Ankit Kumar Gupta
相关产品推荐
相关产品推荐

