Dies ist eine interessante Sache, die auch die Kraft von JavaScript -Objekten veranschaulichen kann. Was wir tun müssen, ist, eine Hallo, eine Welt auszugeben, wie im vorherigen Artikel erwähnt, und der Eingang ist gedruckt ('Hallo') ('Welt'), und dies ist die sogenannte Funktion höherer Ordnung.
Erweiterte Funktionen
Die fortgeschrittene Ordnung sieht aus wie ein esoterischer Begriff für fortschrittliche Programmierungstechniken, und ich dachte, als ich ihn zum ersten Mal sah.
Höhere Funktionen von JavaScript höherer Ordnung
Funktionen höherer Ordnung sind jedoch nur Funktionen, die Funktionen als Argumente oder Rückgabewerte betrachten. Hallo und Welt sind das obige als einfaches Beispiel.
Die Codekopie lautet wie folgt:
var moqi = function (p1) {
this.add = function (p2) {
return p1 + '' + p2;
};
Rückgabe hinzufügen;
};
Wir können diese Funktion wie diese verwenden
Die Codekopie lautet wie folgt:
console.log (Moqi ('Hallo') ('Welt'));
Vielleicht ist dieser Prozess etwas verwirrend. Lassen Sie uns sehen, ob er detaillierter ist.
Die Codekopie lautet wie folgt:
> typeof moqi ('Hallo')
<- "Funktion"
> Moqi ('Hallo')
<- Funktion (p2) {
return p1 + '' + p2;
}
Das heißt tatsächlich ist eine Funktion, Moqi ('Hallo'), Moqi ('Hallo')
Die Codekopie lautet wie folgt:
> var m = moqi ('Hallo')
> m ('Welt')
> "Hallo, Welt"
Nach der oben genannten Situation zu urteilen, können die Funktionen höherer Ordnung den Code prägnanter und effizienter machen. Natürlich können wir auch eine Funktion erstellen, um zu erleichtern:
Die Codekopie lautet wie folgt:
> Moqi ('Hallo') ('Welt') ('Phodal')
> "Hallo, Welt phodal"
Es gibt also eine solche Funktion
Die Codekopie lautet wie folgt:
var moqi = function (p1) {
Rückgabefunktion (p2) {
Rückgabefunktion (p3) {
return p1 + ',' + p2 + '' + p3;
}
};
};
Funktionen höherer Ordnung wiederherstellen
Die Signale, die Funktionen höherer Ordnung einführen müssen, sind doppelte oder ähnliche Codes. Dann stellen wir Schritt für Schritt die vorherige Funktion wieder her:
Die Codekopie lautet wie folgt:
var moqi = function (p1) {
this.add = function (p2) {
Rückgabefunktion (p3) {
return p1 + ',' + p2 + '' + p3;
}
};
kehre diesen.add zurück;
};
Erstellen Sie dann eine neue Funktion
Die Codekopie lautet wie folgt:
var moqi = function (p1) {
this.add = function (p2) {
this.add1 = function (p3) {
return p1 + ',' + p2 + '' + p3;
};
kehre this.add1 zurück;
};
kehre diesen.add zurück;
};
Mit der Anrufmethode in JavaScript wird es geben:
Die Codekopie lautet wie folgt:
var moqi = function (p1) {
var self = this;
Funktion fd (p2) {
this.add1 = function (p3) {
return p1 + ',' + p2 + '' + p3;
};
}
self.add = function (p2) {
fd.call (this, p2);
kehre this.add1 zurück;
};
return self.add;
};
Beispiele für erweiterte Funktionen
Das obige Beispiel ist nur zum Spaß und das folgende Beispiel ist eine echte Anwendung.
Die Codekopie lautet wie folgt:
add = function (a, b) {
Return a + b;
};
Funktionsmathematik (Func, Array) {
return func (Array [0], Array [1]);
}
console.log (math (add, [1,2]));
> Mathematik (hinzufügen, [1,2])
<3
Das im obige Beispiel übergebene Hinzufügen ist ein Parameter, und die Rückgabe ist nur eine Funktion. Zum Beispiel gibt es eine Funktion in JQuery
Die Codekopie lautet wie folgt:
// gestürzt in Kamelase konvertieren; Wird von den CSS und Datenmodulen verwendet
// Microsoft hat vergessen, das Präfix des Anbieters zu brüllen (#9572)
Kamelase: Funktion (String) {
return string.replace (rmsprefix, "ms-") .replace (rdashalpha, fcamelcase);
},
Dies ist auch bei der Verwendung von Funktionen höherer Ordnung der Fall, um JS zu beherrschen. .