molily: onclick verhalten und foo has no properties

Beitrag lesen

Hallo,

Mit Attributen wäre es:

buttons[0].onclick = function() {sendInfo.addGoal(id, 0);};

Voraussetzung ist allerdings, dass sendInfo und id zum Zeitpunkt des Klicks auf den Button einen Wert haben.

sendInfo muss tatsächlich noch als globale Variable zur Verfügung stehen, id aber nicht - das ist ja der Sinn der Closure. Man kopiert die lokale Variable id in den Scope der anonymen Funktion. Was mit der lokalen Variable dann passiert, ist egal. Sie ändert ja vor allem ihren Wert durch die for-Schleife. An der Variable id im Scope der erzeugten Funktion ändert das nichts, die existiert selbst dann noch, wenn die lokale Variable id längst passé ist, weil die Funktion addBehaviour beendet wurde.

Mathias