«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Является ли JavaScript синхронным или асинхронным, однопоточным или многопоточным? Как выполняется код JavaScript?

Является ли JavaScript синхронным или асинхронным, однопоточным или многопоточным? Как выполняется код JavaScript?

Опубликовано 6 ноября 2024 г.
Просматривать:987

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).

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

Для функций весь код функции хранится в памяти. Для переменных изначально сохраняется специальное значение undefined.

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

При вызове функции создается другой контекст выполнения. В компоненте памяти хранятся значения параметров (a = 6, b = 5), тогда как переменные типа ans изначально содержат неопределенное значение. В компоненте кода для выполнения операции используются значения из компонента памяти (a b = 6 5 = 11). Результат затем выводится на консоль.

Я надеюсь, что это объяснение прояснит концепцию. Если у вас есть какие-либо вопросы или исправления, не стесняйтесь спрашивать в разделе комментариев.

С уважением Акшай Шайни (См.:[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/ramya_srim/is-javascript-synchronous-or-asynchronous-and-is-it-single-threaded-or-multi-threaded-how-is-javascript-code- выполнено- 24b2?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3