MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / invoke

Function invoke

lib/web/polyfill.js:144–160  ·  view source on GitHub ↗
(fn, args, that)

Source from the content-addressed store, hash-verified

142// Fast apply
143// http://jsperf.lnkit.com/fast-apply/5
144function invoke(fn, args, that){
145 var un = that === undefined;
146 switch(args.length | 0){
147 case 0: return un ? fn()
148 : fn.call(that);
149 case 1: return un ? fn(args[0])
150 : fn.call(that, args[0]);
151 case 2: return un ? fn(args[0], args[1])
152 : fn.call(that, args[0], args[1]);
153 case 3: return un ? fn(args[0], args[1], args[2])
154 : fn.call(that, args[0], args[1], args[2]);
155 case 4: return un ? fn(args[0], args[1], args[2], args[3])
156 : fn.call(that, args[0], args[1], args[2], args[3]);
157 case 5: return un ? fn(args[0], args[1], args[2], args[3], args[4])
158 : fn.call(that, args[0], args[1], args[2], args[3], args[4]);
159 } return fn.apply(that, args);
160}
161
162// Object:
163var create = Object.create

Callers 3

partFunction · 0.70
stepCallFunction · 0.70
polyfill.jsFile · 0.70

Calls 3

fnFunction · 0.85
applyMethod · 0.65
callMethod · 0.45

Tested by

no test coverage detected