Heim > Web-Frontend > js-Tutorial > Vertiefendes Verständnis und praktischer Einsatz der Javascript-Funktion (Code im Anhang)

Vertiefendes Verständnis und praktischer Einsatz der Javascript-Funktion (Code im Anhang)

亚连
Freigeben: 2018-05-18 18:03:14
Original
1247 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

(2) Funktionsdeklaration

function add(n,m){
return n+m;
}
Nach dem Login kopieren

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 Funktionstypen

Gewöhnliche Funktionen: Einführung in die Eigenschaften gewöhnlicher Funktionen: Überschreiben mit demselben Namen, Argumentobjekte, Standardrückgabewerte usw.

function ShowName(name) {
 alert(name);
}
Nach dem Login kopieren
Anonyme Funktion: Einführung in die Merkmale anonymer Funktionen: variable anonyme Funktionen, namenlose anonyme Funktionen.

//变量匿名函数,左侧可以为变量、事件等
var anonymousNormal = function (p1, p2) {
 alert(p1+p2);
}
anonymousNormal(3,6);//输出9
Nach dem Login kopieren

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();
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage