@47pushkin

Может ли Visual Studio Code неверно интерпретировать код?

Я прохожу онлайн-курс по JS от htmlacademy. Попалось задание. Я его решил в VSC, но решение не проходило проверку в онлайн-курсе. Начал сравнивать и увидел, что при значении переменной days = 25 в консоль VSC выводится результат 1400. А в консоли любых других редакторов идет ответ 200. Почему так происходит?

var days = 25; // Дней в периоде
var period = 3; // Как часто я ем протеин (раз в три дня)
var workDayAmount = 200; // Количество протеина в будние
var weekendAmount = 100; // Количество протеина в выходные
var total = 0;

// мы вводим проверку, делится ли numberOfDays на 3 без остатка. если да, то кормим кота.

for(var name = 1, numberOfDays = 1; numberOfDays <= days; name++, numberOfDays++) //what day is it today?
{
    if (numberOfDays%3 === 0)
    {
       if (name >= 1 && name <= 5) //today is workday
       {
           total = total + workDayAmount;
       }
       if (name === 6) //today is weekend
       {
           total = total + weekendAmount;
       }
       if (name === 7) //today is weekend
       {
          total = total + weekendAmount;
          name = 0;
       }
    }
    else
        {
            if (name === 7)
            {
                name = 0;
            }
        }

}

console.log(total);


5c8a56ed73257453575568.jpeg
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега CSS
Front-end разработчик
Проблема не в VS Code, а в среде выполнения, и в вашей переменной name. т.к. вы выполняете свой код в глобальном контексте (да-да, в цикле переменные определяются не в своей области видимости), то пытаетесь переопределить переменную window.name, которая является не переопределяемой, и равна строке, от чего у вас в коде получается бардак. Измените название переменной, или используйте let вместо var
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы