Autor | Zpráva | ||
---|---|---|---|
Timy Profil |
#1 · Zasláno: 2. 7. 2008, 19:35:58 · Upravil/a: Timy
Potřeboval bych vytvořit objekt podle předané proměnné. Nechci to pokud možno dělat přes switch/case, ale nějak takhle:
function hokusPokus(objectName:String):Car { var myObject:Car; myObject = new objectName(argumenty); return myObject; } Akorát že s tím rozdílem, že se nevytvoří instance objectName, ale nejprve se vyhodnotí objectName a až poté se vytvoří instance objektu. Příklad volání: hokusPokus("Ferrari"); Tento kód by měl vrátit objekt typu „Ferrari“. Jde to nějak zařídit? ActionScript 2. |
||
Časová prodleva: 3 dny
|
|||
embee Profil |
#2 · Zasláno: 5. 7. 2008, 11:28:39
zkus to zabalit do [] a nebo pouzit eval(), ale covece nevim, tohle se mi moc nepozdava....
|
||
Timy Profil |
#3 · Zasláno: 5. 7. 2008, 11:57:19
embee
Už jsem to vyřešil jinak a čistěji. Předávám už hotový objekt jako argument. |
||
mila Profil |
#4 · Zasláno: 5. 7. 2008, 13:46:13
Můžeš předávat constructor místo názvu třídy, tohle například funguje:
var f:Function = flash.filters.GlowFilter; trace(f); o = new f; trace(o) V tvém příkladu: function hokusPokus(objectName:Function):Car { var myObject:Car; myObject = new objectName(argumenty); return myObject; } hokusPokus(my.package.Ferrari); |
||
Časová prodleva: 16 let
|
0