Objekt geht nach Aufruf verloren
Benjamin
- javascript
Hallo Community,
ich habe folgende Funktion:
function getCosts(i1, i2, jTemp, joints)
{
if(i1 == jTemp.getX() && i2 == jTemp.getY()) { return 0; }
else if(i1 < 0 || i2 < 0) { return 0; }
else if(getJoint(i1, i2, joints) != null) { return 0; }
else if(taken[i1][i2] != null) { return 0; }
else if(i1 != jTemp.getX() && i2 != jTemp.getY()) { return 14; }
else { return 10; }
}
Diese wird innerhalb einer anderen Funktion aufgerufen:
costs = getCosts(i1, i2, j, reviewed);
Dabei ist in j ein Objekt gespeichert, welches in der aufrufenden Funktion zugewiesen wird. Gebe ich j vor dem Funktionsaufruf aus, ist alles wunderbar. Rufe ich j dahingehend nach dem Funktionsaufruf auf, sagt mir die Fehlerkonsole, dass j undefined ist.
Meine Frage dazu: Wieso löscht Javascript das Objekt aus j bei einem Funktionsaufruf? Gibt es dazu Regeln? Wie kann ich diesen Effekt umgehen?
Ich freue mich auf Hilfe.
Beste Grüße, der Benni!
Hat sich erledigt - der Fehler lag in der getJoint - Funktion!
Mahlzeit Benjamin,
Hat sich erledigt - der Fehler lag in der getJoint - Funktion!
Vielleicht hat sie zu viel von sich selbst geraucht und war dementsprechend vernebelt?
MfG,
EKKi
Grundlage für Zitat #1618.