Цитата:
|
Тогда что, вообще, делает apply? Может быть мы о разных функциях?
|
Ответ же выше был дан))) И в том сообщении которое было отквочено)
Цитата:
|
А почему не должно? Второй аргумент разворачивается из массива в цепочку аргументов.
|
пример который выше давали
var a = [1, 2, 3]; a.push([4, 5, 6]);
console.log(a);
и два примера для сравнения
var a = [1, 2, 3]; a.push(4, 5, 6);
console.log(a);
var a = [1, 2, 3];a.push.apply(a,[4, 5, 6]);
console.log(a);
синтаксис push
array.push( elem1, elem2, ... )
а не
array.push( array1, array2, ... )
а в apply можно запихать массив аргументов, с которым будет вызвана функция
соответственно a.push.apply(a,[4, 5, 6]) приравнивается к a.push(4, 5, 6)