Anonyme Callback-Funktion Klärung

Ich bin Bürsten bis auf callback-Funktionen, und bin dabei auf die folgende passage aus http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/#

"Wenn wir an eine callback-Funktion als argument an eine andere Funktion, wir sind nur vorbei die definition der Funktion. Wir sind nicht die Ausführung der Funktion im parameter. In anderen Worten, wir sind nicht vorbei die Funktion mit dem hinteren paar in der Ausführung von Klammern (), wie wir tun, wenn wir eine Funktion auszuführen.

Und da die die Funktion hat die callback-Funktion im parameter wie die definition einer Funktion, die es ausführen kann, wird die callback-jederzeit."

Kann sich das jemand erklären? Hier sind zwei Beispiele, die Sie zur Verfügung gestellt.

//The item is a callback function
$("#btn_1").click(function() {
  alert("Btn 1 Clicked");
});

Hier ist ein weiteres Beispiel:

var friends = ["Mike", "Stacy", "Andy", "Rick"];

friends.forEach(function (eachName, index){
console.log(index + 1 + ". " + eachName); //1. Mike, 2. Stacy, 3. Andy, 4. Rick​
});

"Beachten Sie, dass die callback-Funktion nicht sofort ausgeführt wird. Es ist "zurück gerufen" (daher der name) an einen bestimmten Punkt innerhalb der die Funktion des Körpers. Also, auch wenn der erste jQuery-Beispiel sah so aus:

//The anonymous function is not being executed there in the parameter. ​
//The item is a callback function
   $("#btn_1").click(function() {
     alert("Btn 1 Clicked");
   });

die anonyme Funktion aufgerufen wird, werden später innerhalb der Funktion Körper. Noch ohne Namen, es kann immer noch zugegriffen werden, die später über das arguments-Objekt von der mit-Funktion".

Für das erste Beispiel mit jquery, was Sie sagen, genau. Wenn die #btn_1 element geklickt wird, wird die anonyme Funktion ausgeführt werden? Ich gehe davon aus, dass es ausgeführt wird, wenn die Schaltfläche geklickt wird, aber die Formulierung aus der passage war verwirrend?

Ebenso für das zweite Beispiel, tun Sie nicht brauchen, um die Funktion aufzurufen, die Sie als argument übergeben bc seine anonym?

InformationsquelleAutor djfkdjfkd39939 | 2015-04-29

Schreibe einen Kommentar