PDA

Просмотр полной версии : Что-то в духе eval('function_'+i+'()');


2K WebStudio
02.11.2006, 17:06
Что-то в духе eval('function_'+i+'()');

Думаю, идея вопроса понятна.. есть переменная i и функции function_n() , n=1,2,..
Как их вызывать например в цикле?

etc
02.11.2006, 17:08
Не, идея вопроса, увы, непонятна.

2K WebStudio
02.11.2006, 17:11
Сорри.. Сглючил и-нет и запостилась только часть

etc
02.11.2006, 17:12
for (var i=0;i<15;i++) {
var func = Function(this['function_'+i]);
if (func!=null) {
func.call(this);
}
}

2K WebStudio
02.11.2006, 17:18
for (var i=0;i<15;i++) {
var func = Function(this['function_'+i]);
if (func!=null) {
func.call(this);
}
}

Спасибо.
Как раз то, что надо.

Nirth
03.11.2006, 01:38
почему бы не занести кложуры в массив, и не иттерировать его?

etc
03.11.2006, 13:52
Да всё закончилось тем, что я дал ссылку на конвеер Джона и всё :)

imam
25.07.2008, 20:41
а как быть с таким
for (var i:int=0; i<=n; i++) {
eval('button'+i) = new Button();
this.addChild(eval('button'+i));
}

BlooDHounD
25.07.2008, 21:23
а что тут должно происходить?

imam
25.07.2008, 21:41
n-е количество кнопок отображаться на экране

etc
25.07.2008, 21:58
var b:Button = new Button();
this['button'+i] = this.addChild(b);

imam
25.07.2008, 22:46
все всем спасибо кажись разобрался:D

imam
27.07.2008, 00:50
уууда кажись рано я возрадовался
карочи така суть

некий класс {
vae button1:Button, button2:Button, ... , buttonN:Button;
for (var i:int=0; i<=N; i++) {
var b:Button = new Button();
this['button'+i] = this.addChild(b);
}
}

так работает
тоесть когда объявляю все ссылки на кнопки
vae button1:Button, button2:Button, ... , buttonN:Button;
но у меня в момент компиляции swf файла не известно сколько обьектов кнопок нужно

тоесть кнопки полностью должны объявляться в момент проигрывания фильма
вот тока интересно терь это вообще возможно в as3

BlooDHounD
27.07.2008, 00:54
getChildByName?
dynamic?