2011-09-21 13 views
14

Come funziona un browser analizzando JavaScript che carica da file o in linea? Sto cercando di capire come funziona un browser. Che cosa succede quando una pagina viene caricata e contiene riferimenti <script> a file esterni e JavaScript effettivo nella pagina. Qualche buon articolo là fuori?In che modo i browser analizzano e interpretano il codice JavaScript?

+1

Browser diversi utilizzare diversi motori di java script, come il V8, o scimmia ragno. – Incognito

+0

Immagino che seguano alcuni standard. Ci sono alcune somiglianze. –

+0

Il codice JavaScript è interpretato, non analizzato. –

risposta

15

Questo è definito nello standard ECMAScript.

In primo luogo il testo di partenza (la roba tra le <script> tag) viene convertito in una serie di gettoni (secondo il lessicale Grammatica della lingua):

Il testo di partenza di un programma di ECMAScript è prima convertito in una sequenza di elementi di input, che sono token, terminatori di riga, commenti o spazio bianco. Il testo sorgente viene scansionato da sinistra a a destra, ripetendo più volte la sequenza di caratteri più lunga possibile come elemento di input successivo.

leggere qui: http://es5.github.com/#x7

Quella serie di token è trattata come un programma, che viene poi valutata in base alla sintattica Grammatica della lingua che è definito nei capitoli da 11 a 14 dello standard ECMAScript .

La grammatica sintattica ECMAScript è data in clausole 11, 12, 13 e 14. Questa grammatica è ECMAScript token definiti dal lessicale grammaticale suoi simboli terminali (5.1.2). Definisce un insieme di produzioni , a partire dal programma del simbolo obiettivo, che descrive come le sequenze di token possono formare programmi ECMAScript sintatticamente corretti.

leggere qui: http://es5.github.com/#x5.1.4

Si inizia al capitolo 14: http://es5.github.com/#x14


Si noti che ogni elemento <script> rappresenta un programma JavaScript separata.
Leggi qui: How many JavaScript programs are executed for a single web-page in the browser?

Problemi correlati