18 lines
		
	
	
		
			422 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			18 lines
		
	
	
		
			422 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | var toStr = Object.prototype.toString; | ||
|  | 
 | ||
|  | module.exports = function isArguments(value) { | ||
|  | 	var str = toStr.call(value); | ||
|  | 	var isArgs = str === '[object Arguments]'; | ||
|  | 	if (!isArgs) { | ||
|  | 		isArgs = str !== '[object Array]' && | ||
|  | 			value !== null && | ||
|  | 			typeof value === 'object' && | ||
|  | 			typeof value.length === 'number' && | ||
|  | 			value.length >= 0 && | ||
|  | 			toStr.call(value.callee) === '[object Function]'; | ||
|  | 	} | ||
|  | 	return isArgs; | ||
|  | }; |