Функция Apply в JavaScript
- Предыдущая страница Вызов функции Call JS
- Следующая страница Привязка функций JS
метод повторного использования
через 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()
Если первый параметр метода не является объектом, он становится владельцем вызываемой функции (объектом). В «некорректном» режиме он становится глобальным объектом.
- Предыдущая страница Вызов функции Call JS
- Следующая страница Привязка функций JS