case 1: return function () { return f.call(this, arguments); };
default:
return function () {
- arguments[length - 1] = slice(arguments, length - 1);
- return f.apply(this, arguments);
+ var args = slice(arguments, 0, length - 1);
+ args.push(slice(arguments, length - 1));
+ return f.apply(this, args);
};
}
}