首页 > 其他 > 详细

uunderscore源码阅读笔记

时间:2017-09-05 22:54:16      阅读:241      评论:0      收藏:0      [点我收藏+]
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) {
      func.call(context, accumulator, value, index, collection);
    };
  }
 
  return function() {
    return func.apply(context, arguments);
  };
};

 

 

call 比 apply要快

.apply 在运行前要对作为参数的数组进行一系列检验和深拷贝,.call 则没有这些步骤

uunderscore源码阅读笔记

原文:http://www.cnblogs.com/hfdj/p/7482112.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!