1 'use strict'; 2 3 var toStr = Object.prototype.toString; 4 5 module.exports = function isArguments(value) { 6 var str = toStr.call(value); 7 var isArgs = str === '[object Arguments]'; 8 if (!isArgs) { 9 isArgs = str !== '[object Array]' && 10 value !== null && 11 typeof value === 'object' && 12 typeof value.length === 'number' && 13 value.length >= 0 && 14 toStr.call(value.callee) === '[object Function]'; 15 } 16 return isArgs; 17 }; 18