English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript учебник

Объекты JavaScript

Функции JavaScript

JS HTML DOM

JS браузер BOM

Основы AJAX учебник

JavaScript справочник

Применение функции JavaScript

Метод apply() вызывает функцию с заданным значением this и предоставляет параметры в виде массива (или объекта, подобного массиву).

let numbers = [5, 6, 2, 3, 7];
let max = Math.max.apply(null, numbers);
document.write(max);
Проверим, посмотрим‹/›

Разница между call() и apply()

Метод call() принимает параметры отдельно.

Метод apply() принимает параметры в видеМассив.

Если нужно использовать массив вместо списка параметров, то метод apply() очень удобен.

Использование apply() и встроенных функций

Умное использование, apply() позволяет использовать内置函数 для выполнения某些 задач, в противном случае их можно было бы записать, итерируя значения массива.

В качестве примера мы используем Math.max/ Math.min для нахождения максимального/минимального значения в массиве.

let numbers = [5, 6, 2, 3, 7];
let max = Math.max.apply(null, numbers);
let min = Math.min.apply(null, numbers);
for(let i = 0; i < numbers.length; i++) {
   if(numbers[i] > max) {
 max = numbers[i];
   }
   if(numbers[i] < min) {
 min = numbers[i];
   }
}
document.write(min, "<br>", max);
Проверим, посмотрим‹/›

Вызов функции с помощью apply() без указания параметров

В следующем примере мы вызвали функцию display без передачи параметров:

var name = "Seagull";
function display() {
  document.write(this.name);
}
display.apply();
Проверим, посмотрим‹/›