function myFunction(w, x, y, z) {
console.log(w + x + y + z);
}
var args = [1, 2, 3];
myFunction.apply(null, args.concat(4));
Метод apply вызывает функцию с явным указанием контекста (this), но так как внутри функции this нигде не используется, то результат будет одинаков для любого значения аргумента, в том числе и для null. К тому же вариант с null наиболее семантически правилен: мы как бы говорим, что нам ничего не требуется в качестве this.
Кстати, начиная с ES6, то же самое можно получить, используя так называемый spread-оператор, который записывается в виде многоточия (...):
function myFunction(w, x, y, z) {
console.log(w + x + y + z);
}
var args = [1, 2, 3];
myFunction(...args.concat(4));
Продвижение своими сайтами как стратегия роста и независимости