Heute werde ich Ihnen grundlegende Lehrinhalte über JavaScript vermitteln, über das Training und das Verständnis von Funktionsfunktionen, lasst uns gemeinsam lernen.
Funktionsfunktionen sind die Grundlage von JavaScript und ein Wendepunkt für die Realisierung von Funktionen. Durch Beispielanalysen vermitteln wir Ihnen ein tieferes Verständnis der Funktionsfunktionen und erklären ihre praktische Verwendung.
Funktion ist tatsächlich ein Objekt, und jede Funktion, die wir definieren, ist tatsächlich eine Instanz des Funktionsobjekts, was auch als Verweis auf eine Instanz des Funktionsobjekts verstanden werden kann.
Da es so ist Eine Instanz der Objektinstanz muss auf eine Referenz vom Funktionstyp zeigen. Da sie auf eine Speicheradresse eines Referenztyps zeigt, können Sie die von uns definierte Funktion auch einfach als Variable verstehen, die auf eine Adresse von a zeigt Referenztyp. Diese Adresse zeigt auf eine Instanz des Funktionsobjekts
Da die von uns definierte Funktion tatsächlich eine Variable ist, kann diese Funktionsinstanzadresse gleichzeitig auf mehrere Variablen verweisen Schauen Sie sich den folgenden Code an:
var add = new Function("n", "m", "return n + m");
Das Obige ist die Standardfunktionsdefinition, die aufruft Der Konstruktor des Funktionsobjekts. Die ersten N Parameter sind standardmäßig die Parameter der neuen Funktion, bis der letzte Parameter als Funktionskörper der neuen Funktion betrachtet wird Es ist sehr intuitiv zu erkennen, dass die Add-Variable auf einen Funktionstyp zeigt Beispiel, aber diese Benennungsmethode ist sehr umständlich und entspricht:
(1) Funktionsausdruck
var add=function(n,m){ return n+m; }
(2) Funktionsdeklaration
function add(n,m){ return n+m; }
Aufgrund der Deklaration im Voraus befürwortet die erste Ausgabe die Verwendung der zweiten Methode zur Definition von Funktionen. Es gibt einen separaten Artikel zur Funktionsdeklaration im Voraus
Aber die erste Definitionsmethode macht es Es ist sehr intuitiv zu erkennen, dass add ein Zeiger auf eine Funktionsinstanz ist. Eine Variable.
Da es sich um eine Variable handelt, kann sie anderen Variablen zugewiesen, als Parameter in einer Funktion übergeben oder von einer Funktion zurückgegeben werden .
Also var add2=add3=add; now Alle drei Variablen verweisen nun auf die Referenz dieser Instanz, die beiden Funktionen add2 und add3 können ohne Beeinträchtigung verwendet werden Fügen Sie Punkte zur Referenz von Null hinzu, nachdem Sie die Referenz des Funktionsobjekts entfernt haben. Daher sind die beiden Funktionen add2 und add3 überhaupt nicht betroffen.
Die Funktion kann also als Parameter anderer Funktionen übergeben werden.
Damit die Funktion als Rückgabewert der Funktion zurückgegeben werden kann.
Da der Funktionsname nur eine Variable ist, die auf Funktionsinstanzen zeigt, kommt es in JavaScript nicht zu einer Überladung von Funktionen. weil dieselben Variablen auf dieselbe Referenzadresse verweisen, stellen sie immer noch dieselbe Funktion dar.
Da die Funktion eine Instanz des Objekts ist, sollten also Attribute und Methoden vorhanden sein haben Attribute und Methoden.
Die vier wichtigeren Attributargumente, This, Länge, Prototyp
Argumente repräsentieren das aktuelle Funktionsparameter-Array. Dieses Attribut ist etwas ganz Besonderes, es hat auch ein Attribut namens callee ,
arguments.callee-Attribut speichert einen Zeiger, der Zeiger zeigt auf die Funktionsentität mit diesem Argumentattribut (das dem Funktionsnamen entspricht)
Dieses Attribut ist die aktuelle Umgebung, ähnlich wie Dies gibt in C# den aktuellen Kontext an.
Längenattribut gibt die maximale Anzahl von Parametern an, die von der aktuellen Funktion empfangen werden.
Prototyp gibt die Funktion an. Der Prototyp bedeutet, dass die Methoden der Objektinstanz vollständig gespeichert werden Mit anderen Worten, die Methoden des Prototyps werden vererbt, zum Beispiel toString() valueOf() usw.
Als nächstes werfen wir einen Blick auf die FunktionstypenGewöhnliche Funktionen: Einführung in die Eigenschaften gewöhnlicher Funktionen: Überschreiben mit demselben Namen, Argumentobjekte, Standardrückgabewerte usw. function ShowName(name) {
alert(name);
}
//变量匿名函数,左侧可以为变量、事件等 var anonymousNormal = function (p1, p2) { alert(p1+p2); } anonymousNormal(3,6);//输出9
Verschlussfunktion: Stellen Sie die Merkmale der Verschlussfunktion vor.
function funA() { var i = 0; function funB() { //闭包函数funB i++; alert(i) } return funB; } var allShowA = funA(); //全局变量引用:累加输出1,2,3,4等 function partShowA() { var showa = funA();//局部变量引用:只输出1 showa(); }
Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
Vue.js
Analyse der Schritte zum Konfigurieren des Anmeldeformularcodes JS E-Mail-Adressformat-Bestätigungscode
JS nutzt Time-Sharing-Funktion, um den Code zu optimieren
Das obige ist der detaillierte Inhalt vonVertiefendes Verständnis und praktischer Einsatz der Javascript-Funktion (Code im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!