Показать сообщение отдельно
  #8 (permalink)  
Старый 25.07.2013, 02:15
Аспирант
Отправить личное сообщение для edison Посмотреть профиль Найти все сообщения от edison
 
Регистрация: 01.04.2013
Сообщений: 58

Цитата:
Тогда что, вообще, делает 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)
Ответить с цитированием