PDA

Просмотр полной версии : динамический вызов функции


Ray T. Kerrygun
28.07.2005, 17:51
никак не найду как проделать такой финт:

есть неопределенное количество мувиков с именами, ну, допустим test_0, test_1 и т.п. в каждом мувике - функция, которую нужно вызвать. Т.е. соответственно нужно запустить test_0.func(x,y,z); test_1.func(x,y,z) и т.д. Проще всего конечно сделать что нибудь вроде:
for (i=0;i<total_tests;i++)
{
вызов функции в мувике test_i;
}

Вот, собственно именно этоn вызов у меня никак не получается... Подскажите, плиз...

iNils
28.07.2005, 17:54
for (i=0;i<total_tests;i++){
this["test_" + i].func (x,y,z);
}

this - условно, может быть абсолютный путь.

MaxLife
28.07.2005, 17:57
Попробуй
test_0['func'](x,y,z)
или
this['test_0']['func'](x,y,z)

MaxLife
28.07.2005, 17:59
не успел :)

Ray T. Kerrygun
28.07.2005, 18:06
спасибо большое - заработало. (а я всё через eval() пытался %)

kichik
01.11.2005, 12:12
а если имя функции заранее не известно, например,
function sin(x:Number):Number{


function call(funcName:String, arg:Number){
trace(eval(funcName)); //