diff --git a/lodash.js b/lodash.js index 3a640f00e..787ed8743 100644 --- a/lodash.js +++ b/lodash.js @@ -1857,7 +1857,7 @@ if (!support.argsClass) { isArguments = function(value) { return value && typeof value == 'object' && typeof value.length == 'number' && - hasOwnProperty.call(value, 'callee') || false; + hasOwnProperty.call(value, 'callee') && propertyIsEnumerable.call(value, 'callee') || false; }; } diff --git a/test/test.js b/test/test.js index 5af6c6edf..b2516b2ea 100644 --- a/test/test.js +++ b/test/test.js @@ -3088,7 +3088,7 @@ strictEqual(_.isArguments(true), false); strictEqual(_.isArguments(new Date), false); strictEqual(_.isArguments(_), false); - strictEqual(_.isArguments({ '0': 1, 'length': 1 }), false); + strictEqual(_.isArguments({ '0': 1, 'callee': _.noop, 'length': 1 }), false); strictEqual(_.isArguments(0), false); strictEqual(_.isArguments(/x/), false); strictEqual(_.isArguments('a'), false);