00001 00011 function apply(func, thisArg, args) { 00012 switch (args.length) { 00013 case 0: return func.call(thisArg); 00014 case 1: return func.call(thisArg, args[0]); 00015 case 2: return func.call(thisArg, args[0], args[1]); 00016 case 3: return func.call(thisArg, args[0], args[1], args[2]); 00017 } 00018 return func.apply(thisArg, args); 00019 } 00020 00021 module.exports = apply;