Heim  >  Artikel  >  Web-Frontend  >  Ist eval eine Methode in es6?

Ist eval eine Methode in es6?

WBOY
WBOYOriginal
2022-08-30 17:16:021688Durchsuche

eval ist keine Methode in es6; diese Methode ist in JavaScript und wird verwendet, um JavaScript-Strings zu berechnen und den String als Skriptcode auszuführen. Andernfalls wird undefiniert zurückgegeben , und die Syntax ist „eval(string)“.

Ist eval eine Methode in es6?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.

eval ist keine Methode in es6. Die Funktion eval() berechnet einen JavaScript-String und führt ihn als Skriptcode aus.

Wenn das Argument ein Ausdruck ist, führt die Funktion eval() den Ausdruck aus. Wenn das Argument eine Javascript-Anweisung ist, führt eval() die Javascript-Anweisung aus. Die Funktion

eval() führt die eingehende Zeichenfolge als JavaScript-Code aus. Wenn die eingehende Zeichenfolge ein Ausdruck ist, gibt sie das Ergebnis der Ausdrucksauswertung zurück, andernfalls wird undefiniert zurückgegeben.

Beschreibung

    Wenn der an eval() übergebene Parameter kein String ist, wird der Parameter direkt zurückgegeben.
  • Wenn eval() direkt im nicht-strikten Modus aufgerufen wird, ändern mit var deklarierte Variablen und mit function deklarierte Funktionen den aktuellen lexikalischen Bereich. Mit let und const deklarierte Variablen ändern jedoch nicht den aktuellen lexikalischen Bereich Der lexikalische Bereich wird in der aktuellen Zeit erstellt.
  • Wenn eval() im nicht-strikten Modus indirekt referenziert wird, wird es direkt in der globalen Umgebung ausgeführt. Mit var deklarierte Variablen und mit function deklarierte Funktionen ändern den globalen lexikalischen Bereich, und mit let und const deklarierte Variablen ändern dies Der globale lexikalische Bereich wird nicht geändert, es wird jedoch ein neuer lexikalischer Bereich in der globalen Umgebung erstellt.
  • Wenn eval() direkt im strikten Modus aufgerufen wird, wird zum aktuellen Zeitpunkt ein neuer unabhängiger lexikalischer Bereich erstellt.
  • Wenn eval() indirekt im strikten Modus referenziert wird (nur wenn der strikte Modus in der Zeichenfolge in eval() aktiviert ist, wird die Zeichenfolge im strikten Modus ausgeführt), wird im globalen Modus eine neue unabhängige Zeichenfolge erstellt Umgebung Lexikalischer Geltungsbereich.
  • Die Verwendung von window.eval() entspricht einem indirekten Verweis auf eval() .
  • eval() Der ausgeführte Code kann nur den JS-Interpreter (Interpreter) zum Interpretieren und Ausführen aufrufen und kann nicht vom Just-in-Time-Compiler (JIT-Compiler) optimiert werden Die Suche und Zuweisung von Variablen durch die JS-Engine erfolgt im generierten Maschinencode, was zu Leistungsproblemen führt.
  • eval() Eine unsachgemäße Verwendung kann dazu führen, dass die darin ausgeführte Zeichenfolge anfällig für böswillige Änderungen ist, was zu Sicherheitsproblemen (z. B. XSS-Angriffen) führt.
  • Die Verwendung von eval() beeinträchtigt das Verhalten von Code-Minifiern. Codekomprimierungstools benennen lokale Variablennamen im Allgemeinen in kürzere Variablennamen (z. B. a und b usw.) um, um die Codegröße zu reduzieren. Wenn eval() verwendet wird, komprimiert das Codekomprimierungstool die lokalen Variablennamen, auf die eval() zugreifen kann, nicht, da eval() auf externe lokale Variablen zugreifen kann, wodurch die Codekomprimierungsrate verringert wird.
Syntax: Ende

Das obige ist der detaillierte Inhalt vonIst eval eine Methode in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn