Привет всем, на этот раз я расскажу о контексте выполнения в javascript.
В других языках программирования, таких как golang, c++ или других, когда мы вызываем переменную до того, как она объявлена, возникает ошибка. Но в javascript это приведет к неопределенности, это происходит из-за контекста выполнения. обратите внимание на следующий фрагмент кода:
console.info(name) var name = 'AlfaRiza'
Если имя переменной вызывается первым до ее объявления, она будет неопределена.
Контекст выполнения определяется как среда, в которой интерпретатор выполняет код javascript.
Контекст выполнения имеет две фазы: фазу создания и фазу выполнения.
Мы можем увидеть визуализацию процесса контекста выполнения на javascript https://pythontutor.com/javascript.html
Что происходит во время фазы создания:
На этапе выполнения javascript выполняет код построчно (синхронно), присваивает значения переменным и выполняет функции.
Каждый раз, когда вы запускаете функцию, javascript создает контекст выполнения функции или локальный контекст выполнения.
Hoisting в переводе на индонезийский означает "подъем", потому что при запуске javascript считывает код и ищет ключевые слова var и function, затем помещает var и function наверх.
var number = 10 function is_even(number) { return number % 10 === 0 ? 'Genap' : 'Ganjil' } var hasil = is_even(number) console.info(hasil)
На этапе создания javascript сохранит переменную number, переменную result как неопределенную, а объявление функции is_even без выполнения.
Затем на этапе выполнения javascript выполнит код сверху вниз. Начиная с переменной number, заполненной значением 10, затем заполняя переменную result вызовом функции is_even с возвратом 'Even'. Когда функция is_even будет выполнена, она создаст локальный контекст выполнения. Затем последняя переменная результата console.info, содержащая 'Even'.
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.