Метод apply() викликає функцію з вказаним значенням this і параметрами, наданими у вигляді масиву.
function.apply([thisObj[,argArray]])
thisObj - Необов'язково. Об'єкт , який буде використовуватися в якості цього об'єкта.
argArray - Необов'язково. Набір параметрів у вигляді масиву, переданих у функцію.
Ви можете привласнювати різні об'єкти this при виклику існуючої функції. This посилається на поточний об'єкт, що викликає об'єкт. За допомогою apply() ви можете написати метод один раз, а потім наслідувати його в інших об'єктах без необхідності переписувати метод для кожного нового об'єкта. Метод apply дуже схожий на метод call(), за винятком підтримуваного типу параметрів.
function test(x,y,z){
console.log(this);
};
alert(test(1,2,3)); //[window]
alert(test.apply(0,[1,2,3])); //Number
alert(test.apply(String(),[1,2,3])); //String