In der Welt von JavaScript gibt es viele Möglichkeiten, Funktionen zu definieren, was die Flexibilität von JavaScript widerspiegelt. Genau aus diesem Grund sind Anfänger verwirrt, insbesondere für Studenten, die keine Sprachkenntnisse haben. Wie das Sprichwort sagt, führen alle Wege nach Rom, aber wenn es zu viele Wege gibt, ist der Reisende ratlos, weil er nicht weiß, welcher Weg der richtige ist. Haha, das ist ein langer Artikel, lasst uns das lassen Wenn wir darüber reden, schauen wir uns zuerst den Code an:
/*Die zweite Methode besteht darin, den Function()-Konstruktor zu verwenden, um die Funktion zu klonen*/
var F = new Function("a","b","alert(a b)");
F(a,b);
entspricht tatsächlich dem folgenden Code:
Funktion F(a,b){
alarm(a b);
}
/*Die dritte Methode ist die Verwendung von Funktionsliteralen*/
var zhenn = function(){
alarm("zhenn");
}
zhenn();
Unter diesen scheinen die Methoden zur Verwendung von „Funktionsanweisungen“ und „Funktionsliteralen“ zum Definieren von Funktionen häufiger und leichter zu verstehen zu sein, daher werde ich hier nicht auf Details eingehen. Klonfunktionen, die den Function()-Konstruktor verwenden, werden im Allgemeinen selten verwendet, da eine Funktion normalerweise aus mehreren Anweisungen besteht. Wenn sie als Parameter in Form von Zeichenfolgen übergeben werden, wird der Code zwangsläufig schlechter lesbar.
Lassen Sie mich hier übrigens den Konstruktor erwähnen. Tatsächlich scheint es sich bei dem Konstruktor nicht um eine Funktion, sondern nur um ein Funktionsmodell zu handeln. Um ein unpassendes Beispiel zu nennen: Der Konstrukteur entspricht einem neu zusammengebauten Auto. Egal, ob man es aus der Ferne oder aus der Nähe betrachtet, es ist immer noch ein Auto, aber es wurde noch nicht aufgetankt (was einen notwendigen Schritt vor der Verwendung darstellt). so ist es und kann nicht gestartet werden. Wenn Sie möchten, dass dieses Auto normal fährt, müssen Sie Öl hinzufügen. Tatsächlich entspricht dieser Vorgang der Instanziierung des Konstruktors, sonst läuft es nicht normal! Schauen Sie sich dieses Beispiel an: