Die „neue Funktion“-Syntax

Was ist daran so neu?

Nun, ein Beispiel wird uns helfen zu verstehen, was diese seltsame neue Funktion ist.

Beginnen wir mit einer Definition dessen, was es ist:

let func = new Function([arg1, arg2, ...argN], functionBody);

Nun, das erklärt nichts. Es macht die Sache sogar noch schlimmer 😑.

Okay, ich hab dich. Wie wäre es mit einem Beispiel? Ja, das dachte ich mir :)

let mult = new Function('f', 'g', 'return f * g')
console.log(mult(6,9)) //54

let sayBye = new Function('alert("Bye Bye Beatiful")')
sayBye() // Bye Bye Beatiful

Alle anderen Deklarationen erfordern, dass wir den Funktionscode in das Skript schreiben.

Aber new Functionerlaubt Ihnen, jeden String in eine Funktion umzuwandeln.

Beispielsweise können wir eine neue Funktion von einem Server empfangen und dann ausführen:

let str = … //Receive the code from a server dynamically
let func = new Function(str);
func();

Ein wichtiger Unterschied zu diesem new Functionund jedem anderen functionbesteht darin, dass sich das new Functionimmer auf den globalen Geltungsbereich bezieht und nicht auf seinen lexikalischen Geltungsbereich wie ein reguläres function.

Das bedeutet, dass der new Function keinen Zugriff 🙅🏻‍♂️ auf äußere Variablen hat, sondern nur auf die globalen.

Darüber hinaus ist es möglich, es ähnlich zu definieren:

new Function('f', 'g', 'return f * g') // Basic syntax
new Function('f,g', 'return f * g') // Comma-separated
new Function('f , g', 'return f * g') // Comma-separated with spaces

Suggested posts

Meine am häufigsten verwendeten Codierungsressourcen

Meine am häufigsten verwendeten Codierungsressourcen

Diese Woche erhielt ich eine E-Mail von einem Mitglied der täglichen E-Mail-Liste. Sie wollten wissen: Welche Ressourcen besuchen Sie täglich, wöchentlich und monatlich? Tolle Frage! Ich versuche gerne, einige Einblicke in meinen Arbeitsablauf und die wichtigsten Ressourcen, die ich verwende, mit Ihnen zu teilen.

Lit-Bibliotheksreihe – 1: Ein tiefer Einblick in die lit-html-Bibliothek

Lit-Bibliotheksreihe – 1: Ein tiefer Einblick in die lit-html-Bibliothek

Der Zweck dieser Blogreihe besteht darin, tief in die Lit-Bibliothek einzutauchen und ein umfassendes Verständnis ihrer einzigartigen Funktionen zu erlangen und zu erfahren, wie sie sich von anderen Bibliotheken und Frameworks auf dem Markt unterscheidet. Die Reihe ist in drei Teile gegliedert und behandelt Themen wie 1.

Related posts

Pronomen sind super gruselig

Es fällt mir plötzlich auf, wie so oft. Es ist wieder die Mitte. <Nein, nicht die im Pazifik, du Schlappschwanz, die auf dem Jahrmarkt> Jede Schlagzeile laut…..

Schaffung einer sicheren Arbeitsumgebung

Schaffung einer sicheren Arbeitsumgebung

„Er wird mich beschützen, wenn ich in Gefahr bin. Er wird mich in seinem Zelt verstecken.

Was Sie in Ihrer Wartezeit tun können (Warten auf Ihren ersten Job in der Technikbranche)

Was Sie in Ihrer Wartezeit tun können (Warten auf Ihren ersten Job in der Technikbranche)

Der Wechsel in eine neue Karriere kann eine große Herausforderung sein, wenn man es alleine versucht. Es ist wichtig, Verantwortungspartner zu finden, die sich auf dem gleichen Lernniveau wie Sie befinden und ähnliche Ziele, Hartnäckigkeit und Tatendrang haben.

Dieses Bedrohungsarchiv: Band 7 Black Basta

Dieses Bedrohungsarchiv: Band 7 Black Basta

In der heutigen vernetzten Welt ist die Bedrohung durch Cyberangriffe größer denn je. Cyberkriminelle und nationalstaatliche Akteure versuchen ständig, Schwachstellen auszunutzen und wertvolle Daten zu stehlen, was ein erhebliches Risiko für Unternehmen jeder Größe darstellt.