자바스크립트 코드는 어떻게 실행되나요?
그래서 우리는 두 단계를 단계별로 살펴볼 것입니다. 예를 들어 보겠습니다.
function incre(k){
int ans=k+1;
return ans;
}
var i=0;
var first=incre(2);
var second=incre(i);
🔴 메모리 할당
이 단계에서 코드는 한 줄씩 파싱되어 메모리를 할당합니다. 첫 번째 줄에서
function incre
가 발생하면 전체 함수 스니펫이 메모리에 저장됩니다. 다음 var i
은 undefined
값으로 저장됩니다. first
및 second
모두 동일하게 발생합니다.이 작업이 완료되면 실행의 다음 부분이 시작됩니다.
🟢 코드 실행
프로그램이 첫 번째 줄부터 실행됩니다. 위의 예에서와 같이 함수 정의에서 앞으로 이동하여 실행 가능한 코드로 이동합니다.
var i
를 찾자마자 표시된 대로 값을 0으로 변경합니다.다음으로 함수 호출이 있는
var first
로 이동합니다. 이것은 일이 흥미로워지는 곳입니다.Before we understand this, You should know that this whole box, whatever is happening is happening in Global Execution context. A function makes it's own execution context whenever it is invoked.
All these contexts are saved in a stack.
따라서
func incre
로 이동하여 유사한 방식으로 한 줄씩 실행합니다(두 단계). 먼저 메모리가 할당된 다음 코드가 실행됩니다. first
에 의한 함수 호출에서 먼저 메모리와 값undefined
을 할당합니다. 그런 다음 실행되고 값k+1
이 입력됩니다. return 문을 만나자마자 이 호출에 대한 실행 컨텍스트가 스택에서 제거됩니다.second
에서 호출 2로 동일한 작업을 수행합니다.마지막에는 전역 실행 컨텍스트도 팝되므로 js 코드의 전체 실행을 나타냅니다.
Reference
이 문제에 관하여(자바스크립트 코드는 어떻게 실행되나요?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aishanipach/execution-of-js-code-44ea텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)