Во-первых, более простая версия первой проблемы:
let num;
num += 1;
console.log(num);
num += 1
- это правильный оператор, который добавляет 1
к значению num
и сохраняет результат обратно в num
.
console.log(num);
является правильным оператором, который записывает значение num
в консоль.
Но let num;
не дать начальное значение для num
. Когда переменная не инициализируется значением в JavaScript, она получает значение undefined
. Выполнение математики для undefined
, как будто это число, приводит к NaN
, что вы и видите.
Итак, фиксированная версия более простого кода дает начальное значение num
, как ноль:
let num = 0;
num += 1;
console.log(num);
Следующая проблема - это область действия. Если вы объявите переменную внутри l oop, это будет новая переменная каждый раз. Вместо этого вы хотите использовать одну и ту же переменную для каждой итерации и сохранить ее значение, поэтому переместите объявление за пределы:
let amountOfFizzBuzzes = 0;
for (let i = 1; i <= limitFizzBuzz; i++) {
amountOfFizzBuzzes += 1;
console.log(amountOfFizzBuzzes);
}