JavaScript — это синхронный однопоточный язык, который может выполнять только одну команду за раз. Он перейдет к следующей строке только после того, как текущая строка завершит свое выполнение. Однако JavaScript может выполнять асинхронные операции, используя цикл событий, обещания, Async/Await и очередь обратного вызова (JavaScript по умолчанию синхронен).
Как выполняется код JavaScript?
Все в JavaScript происходит внутри контекста выполнения (представьте, что это большой ящик или контейнер). Весь код JavaScript выполняется в этом контексте выполнения. Он состоит из двух компонентов: компонента памяти (среды переменных) и компонента кода (потока выполнения).
Сначала создается глобальный контекст выполнения. При этом каждая функция создает свой собственный контекст выполнения.
Перед выполнением любой строки кода память выделяется для всех переменных и функций.
Как выполняется код после выделения памяти?
Движок JavaScript снова проходит всю программу (построчно) и выполняет код.
Давайте рассмотрим следующий пример:
function add(a,b){ var ans = a b; console.log(ans); } var addition = add(6,5);
В этом примере сначала создается глобальный контекст выполнения, который состоит из двух компонентов: компонента памяти (MC) и компонента кода (CC).
Для функций весь код функции хранится в памяти. Для переменных изначально сохраняется специальное значение undefined.
При вызове функции создается другой контекст выполнения. В компоненте памяти хранятся значения параметров (a = 6, b = 5), тогда как переменные типа ans изначально содержат неопределенное значение. В компоненте кода для выполнения операции используются значения из компонента памяти (a b = 6 5 = 11). Результат затем выводится на консоль.
Я надеюсь, что это объяснение прояснит концепцию. Если у вас есть какие-либо вопросы или исправления, не стесняйтесь спрашивать в разделе комментариев.
С уважением Акшай Шайни (См.:[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3