Heim >Web-Frontend >Front-End-Fragen und Antworten >Was ist der Interpreter von Javascript?
Der JavaScript-Interpreter, auch „JavaScript-Engine“ genannt, ist eine virtuelle Maschine, die auf die Verarbeitung von JavaScript-Skripten spezialisiert ist. Er ist normalerweise in einem Webbrowser enthalten: lexikalischer Analysator, Syntaxparser, Zeichenanalysator Abschnittscodegenerator, Bytecode-Interpreter.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Was ist ein JavaScript-Interpreter?
JavaScript ist eine Skriptsprache, die von anderen interpretiert und ausgeführt werden muss, und diese andere Person ist der JavaScript-Interpreter. Es liest eine JS-Anweisung, übersetzt sie, führt sie aus, liest dann die nächste JS-Anweisung und der Zyklus beginnt von vorne.
Der JavaScript-Interpreter, auch JavaScript-Engine genannt, ist eine virtuelle Maschine, die auf die Verarbeitung von JavaScript-Skripten spezialisiert ist und im Allgemeinen in Webbrowsern enthalten ist. Seine Funktion besteht darin, JavaScript-Quellcode auszuführen.
Die JavaScript-Parsing-Engine ist ein Programm, das JavaScript-Code „lesen“ und die Ergebnisse der Codeausführung genau liefern kann.
Zusammensetzung des JavaScript-Interpreters
Der JavaScript-Interpreter besteht aus vier Komponenten: lexikalischer Parser, syntaktischer Parser, Bytecode-Generator und Bytecode-Interpreter.
Lexikalischer Parser
Er kann Quellcodezeilen in kleinste Einheiten der Wortbedeutung aufteilen. Die sogenannte semantische Einheit ist das kleinste Einzelzeichen oder die kleinste Zeichenkombination, die grammatikalisch nicht unterteilt werden kann.
var number = 2; //解析成下面的json格式 [ { 'type':'keyword', 'value':'var' }, { 'type':'identifier', 'value':'number', }, { 'type':'Punctuator', 'value':'=', }, { 'type':'Numeric', 'value':'2', } { 'type':'Punctuator', 'value':';' } ]
Syntaxanalysator
Konvertieren Sie das oben analysierte Array gemäß den Grammatikregeln in einen abstrakten Syntaxbaum. Sie können das Esprimas-Parsing-Tool verwenden, um zu erfahren, dass es auch in das JSON-Format konvertiert wird.
Jede JavaScript-Engine hat ihr eigenes Bytecode-Format. Der einfachste Weg besteht darin, die semantischen Einheiten in einen Binärcode zu übersetzen Codieren Sie und produzieren Sie Ergebnisse, die Sie mit Ihren Augen sehen können.Wozu dient dieser abstrakte Syntaxbaum?
Die Leute reden über das Komprimieren und Optimieren von Code, was ich nicht verstehe. Dann sagen sie, dass Compiler, IDEs usw. viele Verwendungsmöglichkeiten haben (es gibt jetzt keine Möglichkeit, darauf einzugehen, weil meine Fähigkeiten nicht ausreichen)
Ich Ich habe gesehen, dass Syntaxbäume in der Meituan Dianping-Technologie verwendet werden können, um JavaScript-Code zu rekonstruieren.
【Verwandte Empfehlungen: Javascript-Lern-Tutorial
】
Das obige ist der detaillierte Inhalt vonWas ist der Interpreter von Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!