Функция Apply в JavaScript

метод повторного использования

через apply() метод, с помощью которого вы можете создавать методы для различных объектов.

метод apply() в JavaScript

apply() Методы с call() Методы очень похожи:

В этом примере,person в fullName Метод былприменениядо person1:

Пример

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName: "Bill",
    lastName: "Gates",
}
person.fullName.apply(person1);  // вернет "Bill Gates"

Попробуйте сами

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

Разница между:

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

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

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

Метод с параметрами apply()

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

Пример

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:"Bill",
  lastName: "Gates"
}
person.fullName.apply(person1, ["Oslo", "Norway"]);

Попробуйте сами

и call() Методы сравнения:

Пример

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:"Bill",
  lastName: "Gates"
}
person.fullName.call(person1, "Oslo", "Norway");

Попробуйте сами

метод simulate max в массиве

Вы можете использовать Math.max() Метод находит наибольшее число в списке чисел:

Пример

Math.max(1,2,3);  // вернет 3

Попробуйте сами

Поскольку у JavaScript-массивов нет метода max(), вы можете применить Math.max() Метод.

Пример

Math.max.apply(null, [1,2,3]); // также вернет 3

Попробуйте сами

Первый параметр (null) не важен. В этом примере он не используется.

Эти примеры дадут одинаковый результат:

Пример

Math.max.apply(Math, [1,2,3]); // также вернет 3

Попробуйте сами

Пример

Math.max.apply(" ", [1,2,3]); // также вернет 3

Попробуйте сами

Пример

Math.max.apply(0, [1,2,3]); // также вернет 3

Попробуйте сами

Строгий режим JavaScript

В строгом режиме JavaScript, если apply() Если первый параметр метода не является объектом, он становится владельцем вызываемой функции (объектом). В «некорректном» режиме он становится глобальным объектом.