Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.03.2016, 16:06
Аватар для Spirtikys
Аспирант
Отправить личное сообщение для Spirtikys Посмотреть профиль Найти все сообщения от Spirtikys
 
Регистрация: 30.12.2015
Сообщений: 49

Объясните пример.
Добрый день.
Могли бы объяснить, что здесь происходит по этапам?
function forEach(list, callback) {
    for (var n = 0; n < list.length; n++) {
        callback.call(list[n], n);
    }
}

var weapons = ['shuriken', 'katana', 'nunchucks'];

console.log(weapons[0]);

forEach(
    weapons,
    function (index) {
        if (this == weapons[index]) {
            console.log('Got the expected value of ' + weapons[index]);
        }
    }
);

Непонятно именно то, как происходит работа на этом моменте
callback.call(list[n], n);

То есть сначала мы заходим в функцию, а потом вызываем call или как?
Откуда берет свое значение index? Пробывал дебажить в webshtorme, но так и не понял этого примера.
Ответить с цитированием
  #2 (permalink)  
Старый 05.03.2016, 16:20
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от Spirtikys
То есть сначала мы заходим в функцию, а потом вызываем call или как?
Про метод call в учебнике прочитай.

Сообщение от Spirtikys
Откуда берет свое значение index?
В цикле передается вторым параметром n: callback.call(list[n], n);
Это и есть index.
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2016, 21:33
Аватар для Spirtikys
Аспирант
Отправить личное сообщение для Spirtikys Посмотреть профиль Найти все сообщения от Spirtikys
 
Регистрация: 30.12.2015
Сообщений: 49

Сообщение от Decode Посмотреть сообщение
Про метод call в учебнике прочитай.


В цикле передается вторым параметром n: callback.call(list[n], n);
Это и есть index.
Вроде бы разобрался. Как то сложно идет JS после Java
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите повторить пример (Яндекс-карт) hrundel Общие вопросы Javascript 0 19.09.2013 18:45
nodeJS нужен пример кода для логина в сайт unet900 AJAX и COMET 0 02.07.2013 19:59
Объясните пожалуйста как обратится к функции и получить результат zeraid AJAX и COMET 4 03.04.2011 14:55
Не работает пример использования AJAX nuker AJAX и COMET 4 19.03.2009 18:31
Объясните пожалуйста значение символов после переменной Анатолий Общие вопросы Javascript 1 09.01.2009 03:50