Я учусь javascript, и учусь за oop. Я уверен, что это базовая c часть, но я не могу понять, как работает переменная счетчика ..
Я создаю приложение битвы, и эта функция выполняется, когда пользователь нажимает на журнал битвы, тогда он покажет последний журнал и его индекс в console.log.
Журнал сражений в функции - это массив, в котором хранятся вложенные массивы входных данных пользователя.
let lastLoggedEntry;
function printLogHandler() {
let i = 0;
for (const logEntry of battleLog) {
if ((!lastLoggedEntry && lastLoggedEntry !== 0) || lastLoggedEntry < i) {
console.log(`#${i}`);
for (const key in logEntry) {
console.log(`${key} => ${logEntry[key]}`);
}
lastLoggedEntry = i;
break;
}
i++;
}
}
My Вопрос в том, что первоначальное значение задается за пределами для l oop (i = 0). но когда пользователь снова щелкает журнал сражений, и эта функция выполняется снова, как циклы сохранения данных последнего значения i и logEntry сохраняются? (во второй раз, когда пользователь щелкает, это будет i = 1, а logEntry = 0 уже)
Кроме того, как он может пропустить "let i = 0" со второго раза? поскольку он не только для l oop, он выполняет функцию, я думал, что javascript снова читает let i = 0 и сбрасывается до 0. (Конечно, не будет, но я хочу понять, почему)
Надеюсь, вы, ребята, могли бы помочь мне. Спасибо,