>웹 프론트엔드 >JS 튜토리얼 >JavaScript는 동기식인가요, 비동기식인가요? 그리고 단일 스레드인가요, 아니면 다중 스레드인가요? JavaScript 코드는 어떻게 실행되나요?

JavaScript는 동기식인가요, 비동기식인가요? 그리고 단일 스레드인가요, 아니면 다중 스레드인가요? JavaScript 코드는 어떻게 실행되나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-09-25 06:20:32922검색

JavaScript는 한 번에 하나의 명령만 실행할 수 있는 동기식 단일 스레드 언어입니다. 현재 줄의 실행이 완료된 후에만 다음 줄로 이동합니다. 그러나 JavaScript는 이벤트 루프, Promises, 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?

기능의 경우 전체 기능 코드가 메모리에 저장됩니다. 변수의 경우 처음에는 undefound라는 특수값이 저장됩니다.

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). 그런 다음 결과가 콘솔에 인쇄됩니다.

이 설명을 통해 개념이 명확해지기를 바랍니다. 궁금한 점이나 수정할 점은 댓글로 남겨주세요.

Akshay Saini의 크레딧(참조:[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])

위 내용은 JavaScript는 동기식인가요, 비동기식인가요? 그리고 단일 스레드인가요, 아니면 다중 스레드인가요? JavaScript 코드는 어떻게 실행되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.