Показать сообщение отдельно
  #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, но так и не понял этого примера.
Ответить с цитированием