Глобальными переменные делают только в случае если они имеют общее значение для проекта, а для решения определенных частных задач, используют локальные переменные, глобальные переменные объявляют вне функций, и использовать их можно по всему коду, вот пример:. Объявляем глобальную переменную строкового типа которая говорит что она глобальная переменная, и создаем две функции, первая не принимает параметров, и выводит alert ом нашу объявленную ранее глобальную переменную, вторая делает тоже самое но там мы принимаем один параметр, с таким же названием как и глобальная переменная, далее вызываем два метода, первый берет глобальное значение и всё в порядке, а второй метод выдает значение undefined , так как ожидается что функция принимает значение, а мы вызвали её без передачи значения, если параметр не передается то его считают равным undefined. То есть глобальная переменная это переменная которая действует на уровне всего скрипта, но следует следить за именами, что бы не создать локальные переменные в функциях. Кстати точно так же можно менять значение переменной, если в первой функции поменяем значение переменной то оно изменится и в глобальной переменной:.
Как создать глобальную переменную?
Для того, чтобы объявить глобальную переменную, можно присвоить значение через объект window :. Следует помнить, что глобальные переменные имеют не слишком хорошую репутацию у разработчиков из-за рисков возникновения конфликтов имен и отрицательного воздействия на качество кода, поэтому рекомендуется использовать их осознанно. Переменные, объявленные вне функции, будут глобальными и доступны в любой части кода:. Тем не менее, контролирование области видимости локальных переменных упрощает процесс отладки и предотвращает возникновение конфликтов. Применение модулей делает код более читаемым и организованным, ограничивая область видимости переменных:. Такой подход обеспечивает порядок как в отдельных файлах, так и в рамках всего проекта.
В JavaScript в других языках чаще всего не так переменные, определенные снаружи функции, будут видны внутри этой функции. Такие переменные называются глобальными. Посмотрим на примере:. На самом деле переменная должна быть определена не перед определением функции, а перед ее вызовом:. Если менять значение переменной и после этого каждый раз вызывать функцию - алерт каждый раз будет выдавать разные результат:.
В этом уроке мы с вами поговорим о глобальных и локальных переменных. А именно, об области видимости переменных. И это все зависит от того, где вы создаете переменную.