Alexander Foken: DOM / Einem SELECT einen onClick-Aufruf hinzufügen

Beitrag lesen

Moin Moin !

Ich glaub ich steh gerade völlig auf dem Schlauch,
Seh ich den Wald vor lauter Bäumen nicht?

Ja:

deinobject.onChange=CastEntries(1,2);

Was passiert da?

Es ist eine Zuweisung.

Auf der linken Seite der Zuweisung ist ein Objekt-Attribut, oder etwas gröber: Eine VARIABLE.

Auf der rechten Seite der Zuweisung ist eine FUNKTION.

Spielen wir mal ein paar Varianten der rechten Seite durch:

answer=42;

Links: Variable
Rechts: Konstante
Ergebnis: answer hat den Wert 42

antwort=answer;

Links: Variable
Rechts: Variable
Ergebnis: antwort hat den selben Wert wie answer.

function sumiere(a,b)
{
  return a+b;
}
summe=summiere(1,2);

Links: Variable
Rechts: Funktion
Ergebnis: Funktion wird mit den Parametern aufgerufen und ihr Ergebnis der Variablen zugewiesen. summe ist 3.

document.getElementById("TD" + theInput).getElementsByTagName("input").onChange = CastEntries(1,2);

Links: Variable, wenn auch etwas umständlich ausgedrückt
Rechts: Funktion
Ergebnis: Funktion wird mit den Parametern aufgerufen und ihr Ergebnis der Variablen zugewiesen.

Deswegen die provozierende Frage: Was liefert CastEntries(1,2) zurück?

Du willst, daß der Variable die Funktion selbst zugewiesen wird, oder?

trick17 = new Function('CastEntries(1,2)');
Links: Variable
Rechts: Objekt-Konstruktor, der einen "Zeiger" auf eine Funktion liefert.
Ergebnis: trick17 *ist* eine Funktion, die CastEntries(1,2) ausführt.

http://selfhtml.teamone.de/javascript/objekte/function.htm

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"