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 erläutern ihre praktische Verwendung. Dieser Artikel vermittelt Ihnen hauptsächlich grundlegende Lehrinhalte zu JavaScript sowie zum Training und Verständnis von Funktionsfunktionen. Lassen Sie uns gemeinsam lernen.
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
(2) Funktionsdeklaration
var add=function(n,m){ return n+m; }
Da Deklarationen in der JavaScript-Sprache fortgeschritten sind, befürwortet die erste Ausgabe die Verwendung der zweiten Methode zur Definition von Funktionen A Über Funktionsdeklarationen wird im Voraus ein separater Artikel geschrieben
function add(n,m){ return n+m; }
Da es sich um eine Variable handelt, Es kann anderen Variablen zugewiesen und als Parameter in der Funktion übergeben werden.
Also var add2=add3=add; jetzt zeigen die drei Variablen auf die Referenz dieser Instanz , jetzt add=null; In Zukunft können die beiden Funktionen add2 und add3 ohne Einschränkungen verwendet werden. Die Auswirkung liegt darin, dass add den Verweis auf das Funktionsobjekt entfernt und auf den Nullverweis verweist. Dies hat also keine Auswirkungen auf add2 und add3 Funktionen überhaupt.
Die Funktion kann also als Parameter anderer Funktionen übergeben werden.
Die Funktion kann also als Rückgabewert der Funktion zurückgegeben werden.
Da der Funktionsname nur eine Variable ist, die auf die Funktionsinstanz verweist, kommt es in JavaScript nicht zu einer Überladung von Funktionen, da dieselbe Variable auf dieselbe Referenzadresse verweist. Die letzte Darstellung ist immer noch dieselbe Funktion Da eine Funktion eine Instanz eines Objekts ist, sollte sie über Attribute und Methoden verfügen.
sind die vier Eigenschaftenargumente, dies, die Länge und der Prototyp 🎜>arguments stellt das Parameterklassenarray der aktuellen Funktion dar. Es gibt auch eine Eigenschaft namens callee,
arguments.callee property Es wird ein Zeiger gespeichert, der auf die Funktionsentität zeigt Arguments-Attribut (entspricht dem Funktionsnamen)
Dieses Attribut ist die aktuelle Umgebung, ähnlich wie in C#, und gibt den aktuellen Kontext an
Das Längenattribut gibt die maximale Anzahl der empfangenen Parameter an durch die aktuelle Funktion
Prototyp gibt den Prototyp der Funktion an, was bedeutet, dass die Methoden der Objektinstanz vollständig gespeichert werden. Mit anderen Worten, alle Methoden auf dem Prototyp werden geerbt. Zum Beispiel toString() valueOf () usw.
Als nächstes werfen wir einen Blick auf die Arten von FunktionsfunktionenGewöhnliche Funktionen: Einführung in die Merkmale gewöhnlicher Funktionen: gleichnamige Abdeckung, Argumente Objekte, Standardrückgabewert usw.
Anonyme Funktionen: Einführung in die Merkmale anonymer Funktionen: variable anonyme Funktionen, namenlose anonyme Funktionen.
function ShowName(name) { alert(name); }
//变量匿名函数,左侧可以为变量、事件等 var anonymousNormal = function (p1, p2) { alert(p1+p2); } anonymousNormal(3,6);//输出9
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(); }
Detaillierte Erläuterung der Instanzverwendung der Funktionsbindungsmethode in Javascript
Das obige ist der detaillierte Inhalt vonJavaScript-Funktion Funktionsverständnis und praktischer Kampf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!