간단한 시작
간단한 코드:
< ; 스크립트 유형="text/javascript" src="xxx.js">
위 코드 조각의 실행 순서는 다음과 같습니다.
코드 복사
코드는 다음과 같습니다. 첫 번째 코드 세그먼트를 읽어보세요step2. 구문 오류(예: 일치하지 않는 괄호 등)가 보고되고 5단계로 이동합니다.
3단계. 전역 실행 환경 만들기(var 변수 및 함수 정의 "준비")
코드 세그먼트 실행(호출 시) 함수를 입력하고 eval을 입력하면 새로운 실행이 생성됩니다. 환경), 오류가 있으면 오류가 보고됩니다(예: 변수가 정의되지 않음)
step5.다른 코드 세그먼트가 있으면 다음 코드 세그먼트를 읽으십시오. 2단계
6단계를 반복합니다.
1단계의 '스크립트 섹션'은 <script>... ...</script> 또한 와 같은 외부에서 도입된 스크립트 파일도 포함합니다. 그렇다면 2단계의 구문 분석은 무엇입니까? 구문 분석에 대한 간단한 이해는 Javascript 코드의 구문 구조가 올바른지 확인하는 것입니다. 예:
코드 복사
코드는 다음과 같습니다.
당연히 코드가 구문 분석을 통과하지 못합니다. if 조건문의 입력 구문이 잘못되었습니다. 3단계와 4단계의 '실행 환경'은 무엇을 의미하나요? 함수를 호출하여 생성된 환경? 실행 환경 내부 프로세스는 무엇인가?...
참고: 다음 부분은 원문 "Javascript Speed Up_01_Reference Variable Optimization"의 처음 두 섹션의 전체 버전입니다. "
<.>실행 컨텍스트에 대하여
모든 JavaScript 코드는 실행 환경에서 실행됩니다. JavaScript 런타임 범위, 수명 등의 처리를 완료하는 데 사용되는 개념이자 메커니즘입니다.
실행 가능한 JavaScript 코드에는 세 가지 유형이 있습니다.
1. 글로벌 코드는 js 파일, HTML 페이지에 포함된 js 코드 등과 같이 어떤 기능에도 포함되지 않은 글로벌 코드입니다.
2 . eval() 함수를 사용하여 동적으로 실행되는 JS 코드입니다.
3. 사용자 정의 함수의 함수 본문 JS 코드입니다.
다양한 유형의 JavaScript 코드입니다. . 다른 실행 컨텍스트
한 페이지에서 JS 코드가 처음 로드될 때 함수가 다시 호출되면 해당 실행 환경으로 들어갑니다. 다른 함수를 호출(또는 동일한 함수를 재귀적으로 호출)하면 새로운 실행 환경이 생성되고, 호출된 함수가 반환될 때 실행 프로세스는 이 환경에 있게 됩니다. 따라서 실행 중인 JavaScript 코드는 실행 환경 스택을 구성합니다.
예를 살펴보겠습니다.
코드 복사