@Ivan_Efimov
Junior frontend

Как работают фигурные скобки в javascript?

Здравствуйте.
Есть области знаний, как "параллельные прямые", - они не пересекаются. Но почему они не пересекаются? Вот и тут такой случай. Показано это было мне довольно давно "как есть" и я, вот, применяю для того, чтобы создавать независимые пространства имен, для небольших функций.
6630c05472369280446629.png

Дано: набор локальных имён переменных.
Вопрос: как это работает?
Браузер снова что-то "подразумевает", что мне не показывает? Интерпретатор помечает каждое пространство имен каким то номером (идентификатором)? Помещает в стек или в кеш? Под это выделен отдельный "регистр" на ассемблере? Можно ли считать что сами переменные помечены "чем то" и как это влияет на производительность?
Я гуглил, этот вопрос время от времени. Нашел про "Внутренние и вложенные классы java", боюсь даже начинать читать.
  • Вопрос задан
  • 198 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Высокоуровневое описание, в котором есть ссылка на спецификацию для изучения деталей:
https://developer.mozilla.org/en-US/docs/Web/JavaS...

И ещё полезно прочитать про лексическое оружие: https://learn.javascript.ru/closure#leksicheskoe-o...
Ответ написан
@historydev Куратор тега JavaScript
Редактирую файлы с непонятными расширениями
Блоки в чистом виде лучше не использовать т.к. они сильно затрудняют чтение кода, используй блоки с операторами управления, например функцию:
function Block1() {
let a, b, c
/* another code */
}


или анонимную функцию:
(function() { /* my code */ })()

https://developer.mozilla.org/en-US/docs/Web/JavaS...

Вопрос: как это работает?


Прочитай как работает область видимости: https://developer.mozilla.org/en-US/docs/Glossary/Scope
Если нужна более конкретная информация то есть спецификация: https://tc39.es/ecma262/#sec-static-semantics-vars...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
21 нояб. 2024, в 19:31
500 руб./за проект
21 нояб. 2024, в 19:28
200000 руб./за проект