"JavaScript 엔진"이라고도 알려진 JavaScript 인터프리터는 JavaScript 스크립트 처리를 전문으로 하는 가상 머신입니다. 일반적으로 웹 브라우저에 포함되어 있습니다. JavaScript 인터프리터에는 어휘 분석기, 구문 분석기, 문자 분석기의 네 가지 구성 요소가 있습니다. 섹션 코드 생성기, 바이트코드 해석기.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
자바스크립트 인터프리터란 무엇입니까
자바스크립트는 다른 사람이 해석하고 실행해야 하는 스크립트 언어인데, 이 상대방이 바로 자바스크립트 인터프리터입니다. JS 문을 읽고, 번역하고, 실행한 후 다음 JS 문을 읽고, 주기가 다시 시작됩니다.
JavaScript 엔진이라고도 알려진 JavaScript 인터프리터는 JavaScript 스크립트 처리를 전문으로 하는 가상 머신이며 일반적으로 웹 브라우저에 포함되어 있습니다. 그 기능은 JavaScript 소스 코드를 실행하는 것입니다.
JavaScript 구문 분석 엔진은 JavaScript 코드를 "읽고" 코드 실행 결과를 정확하게 제공할 수 있는 프로그램입니다.
JavaScript 인터프리터의 구성
JavaScript 인터프리터에는 어휘 파서, 구문 파서, 바이트코드 생성기 및 바이트코드 인터프리터의 네 가지 구성 요소가 있습니다.
어휘 파서
소스 코드 줄을 단어 의미의 가장 작은 단위로 분할할 수 있습니다. 소위 의미 단위는 문법적으로 나눌 수 없는 가장 작은 단일 문자 또는 문자 조합입니다.
var number = 2; //解析成下面的json格式 [ { 'type':'keyword', 'value':'var' }, { 'type':'identifier', 'value':'number', }, { 'type':'Punctuator', 'value':'=', }, { 'type':'Numeric', 'value':'2', } { 'type':'Punctuator', 'value':';' } ]
Syntax Analyser
위의 분석된 배열을 문법 규칙에 따라 추상 구문 트리로 변환하면 Esprimas 구문 분석 도구를 사용하여 json 형식으로도 변환된다는 것을 알 수 있습니다.
이 추상 구문 트리의 용도는 무엇인가요?
사람들이 코드 압축과 최적화에 대해 이야기하는데 저는 이해가 안 되네요. 그러다가 컴파일러, IDE 등의 용도가 많다고 합니다. (제 실력이 부족해서 지금은 들어갈 방법이 없습니다.)
I Meituan Dianping 기술에서 구문 트리를 사용할 수 있다는 것을 보았습니다. JavaScript 코드를 재구성하려면
바이트 코드 생성기
그 기능은 구문 트리를 JavaScript 엔진이 읽고 실행할 수 있는 바이너리 코드로 변환하는 것입니다.
각 JavaScript 엔진에는 고유한 바이트코드 형식이 있습니다. 가장 간단한 방법은 의미 단위를 바이너리로 변환하는 것입니다.
바이트코드 해석기
물론 링크 뒤의 이 링크에는 바이너리 코드가 있으며 다음 단계는 바이너리를 실행하는 것입니다. 코드를 작성하고 눈으로 볼 수 있는 결과를 만들어냅니다.
【관련 권장 사항: javascript 학습 튜토리얼】
위 내용은 자바스크립트 인터프리터란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!