Struppi: Variablen in temporären Funktionen

Beitrag lesen

Ich möchte in eine temporäre Funktion "Arbeits"-Variablen übergeben. Die Frage ist nur wie.

Das nennt sich closure und ist eine anonyme Funktion.

Als Beispiel

for(var i=0;i<10;i++) {
  element[i].onclick = function() {
    internevariable = i;
    alert(internevariable);
  }
}

Das Problem ist das die Variable i nicht zum Zeitpunkt der Funktionsdefinition übergeben wird sondern erst beim Funktionsaufruf - was entsprechend immer 9 ergeben würde.

Es gibt zwei Möglichkeiten entweder du erzeugst jedesmal eine neue Funktion (dafür gibt es auch mehrere Möglichkeiten) oder du gibst die Eigenschaft deinem Objekt als Eigenschaft mit.

Wozu benötigst du das i?

Struppi.