You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
701 B
16 lines
701 B
// fast apply, http://jsperf.lnkit.com/fast-apply/5 |
|
module.exports = function (fn, args, that) { |
|
var un = that === undefined; |
|
switch (args.length) { |
|
case 0: return un ? fn() |
|
: fn.call(that); |
|
case 1: return un ? fn(args[0]) |
|
: fn.call(that, args[0]); |
|
case 2: return un ? fn(args[0], args[1]) |
|
: fn.call(that, args[0], args[1]); |
|
case 3: return un ? fn(args[0], args[1], args[2]) |
|
: fn.call(that, args[0], args[1], args[2]); |
|
case 4: return un ? fn(args[0], args[1], args[2], args[3]) |
|
: fn.call(that, args[0], args[1], args[2], args[3]); |
|
} return fn.apply(that, args); |
|
};
|
|
|