Hallo,
Aber wie schaut es dann beim initialisieren des objekts aus, wird da nicht automatisch die fahren function aufgerufen, welche dann das problem hat, oder auch nicht, das weg nicht definiert ist, bzw. keinen wert hat?
Nein. Beim Initialisieren wird ja nicht die Funktion Auto() aufgerufen, sondern mit dem Operator new wird diese Funktion als Quasi-Objekt in den Arbeitsspeicher gelegt. Dabei wird die Variable/Eigenschaft(ja was eigentlich?)
Eigenschaft, da sie zum Objekt gehört. (this.)
Methode/Variable/Eigenschaft(was nun eigentlich?) fahren verweist auf die Funktion fahren() (this.fahren=fahren).
Methode, da sie auf eine Funktion verweist, und aufrufbar ist (mit parametern und so)
Das genau ist das Problem hierbei. Einmal die "was nun eigentlich?", die mir noch niemand wirklich erklären konnte, hauptsächlich aber das Speichermanagement.
Eigenschaften halten Daten bereit (z.B. number, boolean, string, object, arrays), also wie Variablen und Methoden sind Funktionen, beides nur mit dem Unterschied das sie objektgebunden sind.
Mir sind schon Beispiele untergekommen, bei denen solche Pseudo-Objekte das System zum Stillstand gebracht haben, mit 100% Speicherauslastung.
Mir noch nie! Vielleicht weil sich ein Objekt immer wieder selbst instanziiert hat:
function Test()
{
this.test = new Test();
}
oder so ähnlich.
Christian