Stefan Beck: Zugriff auf Member in verschachtelten Funktionen eines Objekts

Beitrag lesen

Ok, .... ich denke den Unterschied habe ich verstanden. Wie du sagtest: Holzweg. Vielen Dank für diese Zurechtweisung. Ohne erneut an Prinzipien von JS anecken zu wollen:

Mit new function() erzeuge ich ein Objekt einer Funktion. Es wird beim Erzeugen "aufgerufen". Direkt aufrufen kann ich es aber nicht, soweit richtig? Insofern muss ich dies komplett verwerfen. Also zurück zu meinem ursprüunglichen Problem.

Mein anfänglicher Ansatz, in meinem ersten Post, zeigt noch, dass ich auschließlich mit function() ohne new arbeite. So habe ichs bisher immer gehalten mit Methoden einer Klasse und war erstaunt, als ich dann jene eine Grenze stieß. Ich versuche nochmal zu beschreiben, was für ein Problem in meinem urprüuinglichen Code steckt:

Innerhalb einer mit function erzeugten Methode A der Klasse erzeuge ich mit function eine andere Methode B der Klasse. Methode A ist in einer privilegierten Membervariable untergebracht, Methode B in einem privaten Array (quasi "von Funktionen").
Innerhalb der Methode A kann ich auf alle Member der Klasse zugreifen. Innerhalb von Methode B geht dies nicht mehr. Irgendwie geht der Kontext verloren.

Methode A ist bei mir this.AddRequest( ... ); Methode B ist Handler Count ;

Zu eurem bisherigen Vorschlag dazu:
Mit var self = this innerhalb von Handler[Count] zu arbeiten kann ich nicht nachvollziehen. Ich habe es versucht, ohne Erfolg. Habe ich das denn richtig verstanden: Diese Deklaration muss ja zwangsläufig außerhalb von Handler[ Count ] geschehen. Da ich von innen dann aber keinen Zugriff auf die Membervariable self habe, ist es Witzllos. Außer ich definiere var self im globalen Scope. Wäre aber sehr unschön und ich müsste alle Member der Klasse ajaxQueue privilegieren.

Wie dem auch sei, jedenfalls vielen herzlichen Dank für die bisherigen Bemühungen!

Stefan