Rückruffunktionskonzept: Eine Rückruffunktion ist eine Funktion, die über einen Funktionszeiger aufgerufen wird. Wenn Sie den Zeiger (Adresse) der Funktion als Argument an eine andere Funktion übergeben. Wenn dieser Zeiger die Funktion aufruft, auf die sie verweist, sagen wir, dass dies eine Rückruffunktion ist.
Ein Rückruf ist eine Funktion, die als Argument an eine andere Funktion übergeben wird und nach Abschluss der übergeordneten Funktion ausgeführt wird.
Gründe für die Verwendung von Rückruffunktionen: Sie können den Anrufer von der Callee trennen. Der Anrufer kümmert sich nicht darum, wer der Anrufer ist.
Betrachten Sie ein Beispiel wie dieses:
Wenn die untere und hohe Ebene eines Projekts von verschiedenen Mitarbeitern koordiniert wird. Bottom -Personal, ich brauche Sie.
Das zugrunde liegende Mitarbeiter sagte: Ich werde Ihnen Daten zur Verfügung stellen und es ist Ihr Geschäft Daten und dann sind Sie selbst.
Die Codekopie lautet wie folgt:
// Daten repräsentiert die Datenquelle, die durch die zugrunde liegende Ebene bereitgestellt wird, und der Funcname repräsentiert die Aufruffunktion der höheren Schicht
Funktion (Daten, Funcname) {
1.Data gehört zu Fall 1 und wird von der zugrunde liegenden Schicht behandelt.
2.Data gehört zu Fall 2. Es wird von der hohen Ebene verarbeitet.
.....
}
Ich habe es vielleicht noch nicht klar gemacht, wir können ein Beispiel sehen und alles auf einmal verstehen
Die Codekopie lautet wie folgt:
// Wenn die bereitgestellte Datenquelle eine Ganzzahl ist, die die Punktzahl eines Schülers ist, wird sie von der zugrunde liegenden Ebene verarbeitet und wenn n> 0 von der oberen Schicht verarbeitet wird.
// Kopieren Sie die folgende Funktion und speichern Sie sie auf 1.Js
Funktion f (Num, Rückruf) {
if (num <0) {
ALERT ("Aufrufen von Low-Level-Funktion, um zu verarbeiten!");
ALERT ("Die Punktzahl kann nicht negativ sein, Eingabefehler!");
} else if (num == 0) {
ALERT ("Aufrufen von Low-Level-Funktion, um zu verarbeiten!");
Alarm ("Der Schüler hat die Prüfung möglicherweise nicht abgelegt!");
}anders{
ALERT ("Aufrufen von Funktionen auf hoher Ebene!");
callback ();
}
}
Die Codekopie lautet wie folgt:
// Speichern Sie die folgende test.html -Datei in demselben Verzeichnis wie 1.JS:
<! DocType html public "-// w3c // dtd html 4.01 transitional // en"
"http://www.w3.org/tr/html4/loose.dtd">
<html>
<kopf>
<meta http-äquiv = "content-type" content = "text/html; charset = gb2312">
<script src = "1.js" type = "text/javaScript"> </script>
<title> bis zum Titel "Dokument" </title>
<script type = "text/javaScript">
Funktionstest () {
var p = document.getElementById ("pp");
pp.Innertext = "";
var num = document.getElementById ("Score"). Wert;
f (num, function () {// Anonyme Verarbeitungsfunktion auf hoher Ebene
if (num <60) alarm ("fehlgeschlagen!");
sonst wenn (num <= 90) alarm ("Die Generation ist ausgezeichnet!");
sonst wachsam ("Ausgezeichnete Ergebnisse für diese Generation!");
pp.Innertext = "von seit1978 qq558064!"
}
</script>
</head>
<body>
<p>
Beispiel für Rückruffunktion: Wenn die Schülerbewertung <= 0 ist, wird es von der zugrunde liegenden Ebene verarbeitet.
</p>
Bitte geben Sie die Schüler -Scores ein <Eingabe type = "text" id = "Score">
<Eingabe type = "button" onclick = "test ()" value = "Sehen Sie sich das Ergebnis an">
<p id = "pp"> </p>
</body>
</html>
Führen Sie diese Datei aus und Sie können den Effekt sehen