счетчик для л oop в javascript - PullRequest
       16

счетчик для л oop в javascript

2 голосов
/ 16 февраля 2020

Я учусь 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. (Конечно, не будет, но я хочу понять, почему)

Надеюсь, вы, ребята, могли бы помочь мне. Спасибо,

1 Ответ

0 голосов
/ 16 февраля 2020

Несколько вещей:

  1. Отсутствует закрытие в предоставленном образце. Для проверки кода должна быть еще одна закрывающая скобка.
  2. lastLoggedEntry должен быть определен как переменная перед использованием.
  3. Не ясно, каково содержание battleLog.

Я думаю, что если вы проясните это, вам будет проще ответить на ваш вопрос.

...