Область видимости в JavaScript: блочная, глобальная и функциональная
Область видимости определяет, где вы можете использовать переменную в своем коде.
Глобальная область видимости Переменные находятся вне функций или блоков. Вы можете получить к ним доступ из любой части вашего скрипта. Внимание: Глобальные переменные приводят к ошибкам, так как любая часть вашего кода может их изменить.
Функциональная область видимости Переменные находятся внутри функции. Вы можете получить к ним доступ только внутри этой конкретной функции.
Блочная область видимости Это относится к современному JavaScript при использовании
letилиconst. Переменные находятся внутри фигурных скобок {}. Блок включает в себя:
- операторы
if - циклы
for - циклы
while - отдельные блоки {}
Итог по областям видимости:
- Глобальная: доступна везде.
- Функциональная: доступна только внутри функции.
- Блочная: доступна только внутри фигурных скобок.
var: использует функциональную область видимости. Она игнорирует блочную область видимости.letиconst: используют блочную область видимости. Используйте их для написания более качественного кода.
Понимание процессов и потоков
Процесс — это запущенная программа со своей собственной памятью. Представьте WhatsApp как процесс.
Поток — это малая часть процесса. Потоки используют общую память.
- Потоки «легковесны».
- Они быстро создаются.
- Они позволяют выполнять множество задач одновременно.
Пример с WhatsApp: Один процесс (WhatsApp) запускает несколько потоков:
- Получение сообщений
- Отправка фотографий
- Воспроизведение видео
- Показ уведомлений
Источник: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope Источник: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe