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.
		
		
		
		
		
			
		
			
				
					17 lines
				
				701 B
			
		
		
			
		
	
	
					17 lines
				
				701 B
			| 
								 
											3 years ago
										 
									 | 
							
								// 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);
							 | 
						||
| 
								 | 
							
								};
							 |