Возможный дубликат:
Как использовать Math.max и т.д. как функции более высокого порядка
Используя функции расширения "расширенных" функций в браузере Mozilla Javascript 1.6 (отображение, уменьшение, фильтр и т.д.), почему это работает так, как ожидалось:
var max = [1,2,3].reduce(function(a,b) { return Math.max(a,b); });
Но следующее не работает (оно производит NaN):
var max2 = [1,2,3].reduce(Math.max);
Это потому, что Math.max является вариационной функцией?