Unteschied zwischen 3 Funktionsarten

oaki

Erfahrenes Mitglied
Hallo!

Seit ich mit Flash programmiere sind mir 3 Funktionsarten begegnet:
Erstens:
PHP:
function blabla () {
//some code
}

Zweitens:
PHP:
function blabla ():Void {
//some code
}

Drittens:
PHP:
function blabla (Void):Void {
//some code
}

kann mir jemand erklaeren was der Unterschied zwischen den verschiedenen Schreibweisen ist?

Vielen Dank?
 
Hi,

der erste Ausschnitt ist AS1.0 ohne implizite Typisierung, die Ausschnitte 2 und 3 sind AS2.0

Ob Du nun "Void" als Argumententyp angibst, ist m.E. egal - auch wenn Du in beiden Fällen (unerwarteterweise) Argumente übergibst, bekommst Du keine Fehlermeldung. Eine Funktion vom Typ "Void" kann allerdings keinen Wert zurückgeben; der Versuch führt zu einer Fehlermeldung.

Gruß
.
 
ok, vielen Dank!

Wie wuerde ich dann eine Funktion in AS2.0 deklarieren wenn ich gerne einen Rueckgabewert haette?
 
Hi,

das kommt auf den Typ des Rückgabewerts an. Bei einem numerischen Wert z.B. so:
Code:
function foo():Number {
    return 5;
}

Gruß
.
 
Zurück