Функции прекрасны — Акшай Шайни.

Создание приложений на JavaScript может немного разочаровать, если вы не имеете представления о том, как JS работает под капотом в браузере. JavaScript — самый любимый и ненавистный язык в мире, так что давайте посмотрим, как он работает.

Таким образом, JavaScript при выполнении кода создает глобальный контекст выполнения, который имеет две стороны: одна — это выделение памяти, а другая — фаза выполнения кода, которая помещается в стек вызовов, который представляет собой просто стек, содержащий все функции. , помните, всякий раз, когда вызывается функция, создается совершенно новый контекст выполнения с фазой выделения памяти и фазой выполнения кода, мы рассмотрим его
Предположим, у нас есть этот код

Итак, здесь x задано значение 10, и функция вызывается с переменной x со значением 20 внутри нее, если мы вызовем функцию еще до ее выполнения, то будет работать то, что называется подъемом (еще одна красивая концепция), и консоль. log x после функции, поэтому JavaScript запустится в первый раз и назначит переменным значение undefined и назначит полное объявление функции соответствующей переменной в соответствии со строками 2 и 6 соответственно.
(Вы можете рассмотреть например, полотенце, которое индийцы держат на сиденье в автобусе, чтобы забронировать его 😂 xD)
теперь наступает фаза выполнения кода, где выполняются все вычисления и присвоение фактического значения, поэтому здесь значение x равно назначено 10 , перед этим мы печатаем x, поэтому, как мы сказали, должно быть…. неопределенный!

а затем непосредственно выполняет код в соответствии со строкой номер 4, теперь вот красивая часть, теперь всякий раз, когда вызывается функция, эта функция помещается в стек вызовов, и создается весь контекст выполнения с фазой выделения памяти и фазой выполнения кода,

Здесь теперь эта функция действует как совершенно другая программа со всеми переменными и вызовами функций по-разному, и теперь x снова получает значение undefined на этапе выделения памяти, а на этапе выполнения кода ему присваивается его реальное значение и когда последняя строка этой функции выполняется путем печати значения x, функция извлекается из стека вызовов, и этот контекст выполнения уничтожается,

Наш окончательный результат:

Точно так же, когда выполняется последняя строка фактического кода, весь глобальный контекст выполнения уничтожается. Это ооочень красиво!!

когда-нибудь задумывались, как Async будет работать в этом мире однопоточного языка 👀, следите за обновлениями, это тоже будет!

Мем недели!!

объяснение мема: Итак, JavaScript — это слабо типизированный язык, который перегружает арифметический оператор, а JavaScript ищет строки, если находит, то JS преобразует другое число на стороне оператора в строку и объединяет ее, но только для оператора +, для — оператора it будет делать 1-”1=0 xD

ик ик, это так красиво, не так ли?

Спасибо, что дочитали до сюда!

Оставайтесь в безопасности, будьте счастливы!

Ваше здоровье!