probleme mit rekursiver Klassen-Methode

p-flash

Erfahrenes Mitglied
Hi,

mein Code sieht so aus:

PHP:
var kl = function()
 {
 	this.i = 5;
 }
 
 kl.prototype.fnc = function()
 {
 	trace(this.i);
 	if(this.i > 0)
 	{
 		this.i -= 1;
 		arguments.callee();
 	}
 };
 
 obj = new kl();
 
 
 
 obj.fnc();


Ich verstehe aber nicht warum die Funktion nicht 5mal abgespielt wird. Ab dem 2.mal ist i = undefined? Ich benutze Flash MX 2004 aber AS1.

Bin dankbar für jeden Tip.

p-flash
 
Hi,

ich nehme an, callee bezieht sich auf den Prototype ansich und nicht auf die wirkliche Objektinstanz. Machs doch einfach so:
PHP:
kl.prototype.fnc = function()
{
    trace(this.i);
    if(this.i > 0)
    {
        this.i -= 1;
		this.fnc(this.i);
    }
};

Gruß
.
 
Keine Ahnung, ich höre heute zum ersten Mal etwas von "callee". ^^

Ich nehme an, über einen Prototype wird das so nicht gehen.

Mal eine andere Frage: Warum nimmst Du keine Klasse?

Gruß
.
 
Ich arbeite eigentlich mit Flash MX. Benutze z. Zt. Flash MX 2004 von meinem Vater. Mit class habe ich noch nicht gearbeitet.

p-flash
 
Zurück