Heim > Web-Frontend > js-Tutorial > Hauptteil

Können Sie zur Laufzeit benannte Funktionen in JavaScript ohne „eval' erstellen?

Linda Hamilton
Freigeben: 2024-11-12 18:21:02
Original
865 Leute haben es durchsucht

Can You Create Runtime-Named Functions in JavaScript Without `eval`?

Laufzeitbenannte Funktionen ohne Auswertung in JavaScript

Ist es möglich, eine JavaScript-Funktion mit einem zur Laufzeit festgelegten Namen zu erstellen, ohne Auswertung oder unkonventionelle Engine-spezifische Funktionen zu verwenden? ? Ja, das ist jetzt mit ECMAScript 2015 (ES6) und höher möglich.

ES6-Lösung: Berechnete Eigenschaftsnamen

In ES6 nimmt ein anonymer Funktionsausdruck, der einer Objekteigenschaft zugewiesen ist, den Namen dieser Eigenschaft an Eigentum. Dies kann mit berechneten Eigenschaftsnamen kombiniert werden, um eine Funktion ohne neue Funktion oder Auswertung zu benennen. Zum Beispiel:

const dynamicName = "foo" + Math.floor(Math.random() * 1000);
const obj = {
    [dynamicName]() {
        throw new Error();
    },
};
const f = obj[dynamicName];
Nach dem Login kopieren

Dadurch wird eine Funktion namens „foo###“ erstellt, wobei ### eine zufällige 1-3-stellige Zahl ist.

Sichtbarkeit des Funktionsnamens

Die Namenseigenschaft der Funktion spiegelt den dynamischen Namen wider. Der Kompatibilitätshinweis im obigen Codeausschnitt verweist darauf, dass Edge und Safari den Namen derzeit nicht in Stacktraces anzeigen.

Das obige ist der detaillierte Inhalt vonKönnen Sie zur Laufzeit benannte Funktionen in JavaScript ohne „eval' erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage