Yang Guo | 4fd355c | 2019-09-19 10:59:03 +0200 | [diff] [blame] | 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 | }; |