最近群里有人发了下面这题:实现一个函数,运算结果可以满足如下预期结果: add(1)(2) // 3 add(1, 2, 3)(10) // 16 add(1)(2)(3)(4)(5) // 15 对于一个好奇的切图仔来说,忍不住动手尝试了一下,看到题目首先想到的是会用到高阶函数以及 String.prototype.reduce(). 高阶函数(Higher-order function):高阶函数的意思是它接收另一个函数作为参数.在 javascript 中,函数是一等公民,允许函数作为参数…