2011-09-21 7 views
14

브라우저가 파일이나 인라인에서로드하는 JavaScript를 구문 분석하는 방법은 무엇입니까? 나는 브라우저가하는 핵심에 도달하려고 노력하고있다. 페이지가로드되고 외부 파일에 대한 참조가 <script>이고 페이지의 실제 자바 스크립트가있는 경우 어떻게됩니까? 밖에있는 좋은 기사?브라우저는 어떻게 JavaScript 코드를 구문 분석하고 해석합니까?

+1

다른 브라우저는 V8, 또는 거미 원숭이와 같은 다른 자바 스크립트 엔진을 사용하는 일의 가장 좋은 설명입니다. – Incognito

+0

나는 그들이 어떤 표준을 따른다고 상상한다. 몇 가지 유사점이 있습니다. –

+0

JavaScript 코드가 해석되지 않고 해석됩니다. –

답변

15

이것은 ECMAScript 표준에 정의되어 있습니다.

먼저 소스 텍스트합니다 (<script> 태그 사이에 물건)합니다 (어휘 문법 언어의에 따라) 일련의 토큰으로 변환됩니다

ECMA 스크립트 프로그램의 소스 텍스트가 먼저 토큰, 줄 종결 자, 설명 또는 공백 인 입력 요소 시퀀스로 변환됩니다. 원본 텍스트는 왼쪽에서 으로 스캔되며, 가능한 한 가장 긴 문자 시퀀스 인 을 다음 입력 요소로 반복하여 사용합니다.

는 여기에 읽기 : 토큰의 일련의 다음 신택 틱 문법 11 인 ECMAScript 표준의 14 장에 정의 된 언어의에 따라 평가하는 프로그램으로 처리되는 것을 http://es5.github.com/#x7

.

ECMAScript를위한 구문 론적 문법 절 11, 12, 13, 14이 문법 ECMAScript를 해당 단말 심볼 (5.1.2)와 어휘 문법 정의 토큰있다 주어진다. 토큰 시퀀스가 ​​구문 적으로 올바른 ECMAScript 프로그램을 형성 할 수있는 방법을 설명하는 목표 심볼 프로그램에서 시작하여 프로덕션 세트를 정의합니다. http://es5.github.com/#x5.1.4

그것은 14 장에서 시작 :

여기에 읽기 각 <script> 요소는 별도의 자바 스크립트 프로그램을 나타내는 http://es5.github.com/#x14


참고.
여기에 읽기 : How many JavaScript programs are executed for a single web-page in the browser?

관련 문제