Ошибка NaN в консоли при вычислениях через Math чаще всего означает, что в переменную, объявленную через var, попала строка вместо числа — например, значение из поля ввода без преобразования. Проверьте тип данных через typeof до вызова математической функции: если результат "string", сначала примените Number() или parseFloat(). Это самая частая причина «сломанной математики» в скриптах начинающих разработчиков.
В этой статье разберём, как объявлять переменные через var, какие методы предоставляет встроенный объект Math в JavaScript, где возникают типичные ошибки и как писать вычисления, которые не ломаются на граничных значениях. Материал ориентирован на тех, кто только начинает работать с языком или хочет систематизировать базовые знания.
Объявление переменных через var: что нужно знать
Ключевое слово var — исторически первый способ объявления переменных в JavaScript. Переменная создаётся командой var x = 10;, после чего её значение можно менять сколько угодно раз. В отличие от let и const, у var функциональная область видимости: переменная «видна» во всей функции, а не только внутри блока фигурных скобок.
Особенность, о которой часто забывают, — всплытие (hoisting). Объявление через var интерпретатор поднимает в начало функции, поэтому обращение к переменной до строки объявления не вызовет ошибку, а вернёт undefined. С let в том же месте была бы ошибка ReferenceError. Это различие важно при отладке старого кода.
В современных проектах предпочтительны let и const, но var до сих пор встречается в легаси-коде, учебных примерах и старых библиотеках. Понимать его поведение необходимо, даже если в своём коде вы его не используете.
💡var имеет функциональную область видимости и всплывает — в новом коде используйте let и const, но читать var-код нужно уметь.