Additional Math functions

C. Scott Ananian ecmascript at cscott.net
Wed Apr 29 16:04:21 UTC 2015


Aren't there limits to the number of arguments you can pass to a ES
function before getting a stack overflow?

I've gotten in trouble trying to abuse the `arguments` array like this
before, for example `Math.max.apply(Math, someVeryLargeArray)`.

Empirically, with iojs 1.8.1:
```
> Math.max.apply(Math, new Array(100000))
NaN
> Math.max.apply(Math, new Array(1000000))
RangeError: Maximum call stack size exceeded
```
I suppose it would be nice if JavaScript engines fell back to passing
arguments on the heap to avoid this problem, but I don't think that's part
of the ES6 spec.  Am I mistaken?

If we're going to add math functions to the standard library, my vote would
be for
http://www.evanmiller.org/statistical-shortcomings-in-standard-math-libraries.html
  --scott
​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150429/c8ba03b5/attachment.html>


More information about the es-discuss mailing list