Показать сообщение отдельно
  #3 (permalink)  
Старый 23.03.2013, 12:11
Аспирант
Отправить личное сообщение для Ervin Посмотреть профиль Найти все сообщения от Ervin
 
Регистрация: 19.03.2013
Сообщений: 84

[].join.call(log[i]) - Вызывает встроенный метод "join", массива []. Этому методу передаётся массив log[i] и метод join принимает его в виде this.
Тобиш в твоей ситуации:
var log = [[1, 2], [4, 5]];

При первом вызове произойдет следующие:
1)[].join - даст ссылку на встроенный метод "join", массива;
2)join.call([1, 2]) - вызовет этот метод join и задаст внутреннею переменную this = [1, 2]. С этой переменной и произойдут работа "join", который объединит этот массив в строку. Тоже самое если-бы сделать так: [1,2].join("");

Я рекомендую почитать статьи сайта:
1)Call - http://javascript.ru/Function/call
2)Apply - http://javascript.ru/Function/apply
Ответить с цитированием