Короче говоря, это работает:
[1, 2, 3].reduce(function (a, b) { return Math.max(a, b); });
=> 3
Но это не так:
[1, 2, 3].reduce(Math.max);
=> NaN
Чистое недоумение.
Это в Firefox 3.5.9, который, как я полагаю, использует стандартная реализация mozilla сокращения, FWIW.