index.js
function exec (func, context, args) {
	switch (args.length) {
		case 0: func.call(context); break;
		case 1: func.call(context, args[0]); break;
		case 2: func.call(context, args[0], args[1]); break;
		case 3: func.call(context, args[0], args[1], args[2]); break;
		case 4: func.call(context, args[0], args[1], args[2], args[3]); break;
		default: func.apply(context, args); break;
	}
}
function exec (func, context, args) {
	switch (args.length) {
		case 0: func.call(context); break;
		case 1: func.call(context, args[0]); break;
		case 2: func.call(context, args[0], args[1]); break;
		case 3: func.call(context, args[0], args[1], args[2]); break;
		case 4: func.call(context, args[0], args[1], args[2], args[3]); break;
		default: func.apply(context, args); break;
	}
}
function exec ( func , context , args ) { switch ( args . length ) { case 0 : func . call ( context ) ; break ; case 1 : func . call ( context , args [ 0 ] ) ; break ; case 2 : func . call ( context , args [ 0 ] , args [ 1 ] ) ; break ; case 3 : func . call ( context , args [ 0 ] , args [ 1 ] , args [ 2 ] ) ; break ; case 4 : func . call ( context , args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] ) ; break ; default : func . apply ( context , args ) ; break ; } }
Helper function for fast execution of functions with dynamic parameters.
@param      {Function}  func     Function to execute
@param      {Object}    context  Object used as `this`-value
@param      {Array}     args     Array of arguments to pass
Helper function for fast execution of functions with dynamic parameters .