Объясните пример. 
		
		
		
		Добрый день. 
	Могли бы объяснить, что здесь происходит по этапам? 
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, но так и не понял этого примера.  | 
	
		
 Цитата: 
	
 Цитата: 
	
 Это и есть index.  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 10:35. |