контекст JavaScript с Math.max - PullRequest
       29

контекст JavaScript с Math.max

1 голос
/ 03 апреля 2012

Я изучал через контекст javascript и функции .apply() и .call(), и у меня возникли проблемы с одним конкретным утверждением.

Math.max.apply( Math, array );

Вы можете объяснить, как это работает, чтобы обеспечить максимальное количество ??

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012
Math.max.apply(Math, array);

Это вызывает метод Math.max с this === Math (на самом деле не обязательно, поскольку это в значительной степени статический метод) и всеми элементами из array в качестве аргументов.

1 голос
/ 03 апреля 2012

apply - это метод функции, который вызывает функцию с заданным контекстным объектом и аргументами, представленными в виде массива:

var ops = {
   sum : function (a, b) {
       return a + b;
   }
}

ops.sum.apply(ops, [4, 6]); // 10

// is equivalent to:

ops.sum(4, 6);

Math.max возвращает наибольшее из нуля или более чисел:

Math.max(1,2,3,4); // 4

Итак, используя apply, вы получите:

Math.max.apply(Math, [1,2,3,4]); // 4

Это эквивалентно приведенному выше коду.

...