为了账号安全,请及时绑定邮箱和手机立即绑定

js传参的问题

js传参的问题

慕田峪4524236 2018-08-14 09:09:19
var optimizeCb = function(func, context, argCount) {    if (context === void 0) return func;     switch (argCount == null ? 3 : argCount) {      case 1: return function(value) {        return func.call(context, value);       };      case 2: return function(value, other) {        return func.call(context, value, other);       };      case 3: return function(value, index, collection) {        return func.call(context, value, index, collection);       };      case 4: return function(accumulator, value, index, collection) {        return func.call(context, accumulator, value, index, collection);       };     }    return function() {      return func.apply(context, arguments);     };   };我不太理解optimizeCb只传入了3个参数,但是里边的判断语句像下边这句case 4: return function(accumulator, value, index, collection) {    return func.call(context, accumulator, value, index, collection); };这个内部函数的accumulator, value, index, collection这些参数是从哪里来的呢?
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

它返回的是一个函数本身,这个返回的函数肯定是要拿到别的地方运行的,这些参数当然就是运行的时候输入的啦。


查看完整回答
反对 回复 2018-09-21
  • 1 回答
  • 0 关注
  • 487 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信