Вызов функции через цикл
Есть несколько функций
q_1(){};
q_2(){};
...
q_10(){};
Почему так так нельзя вызвать?
for(var i=2;i<11;i++)
{
if(j==i)
q_'+i+'();
//q_.'+i+'.(); - это то же не работает
}
Название функции это не строка, понятно,но как реализовать вызов через цикл таких функций |
наверное потому что q_1 != question_1 ))
ну и для вызова функции есть eval
function q_1 () {
console.log (1);
}
function q_2 () {
console.log (2);
}
for(var i=1;i<3;i++){
eval ("q_"+i+"()");
}
|
Цитата:
Альтернатива на лицо!
var fnc=[];
fnc[0]=function (){alert(0)};
fnc[1]=function (){alert(1)};
fnc[2]=function (){alert(2)};
for (var i=0; i<fnc.length; i++) {
fnc[i]();
};
|
animhotep
question опечатка конечно . В остальном спасибо |
Цитата:
|
Цитата:
В любом случае, если есть отличная альтернатива - зачем колхозить? ;) |
я слышал что eval это зло) но, думаю, тс-у на это глубоко накакать
все начинают с "абы работало", потом каждый сам решит что зло а что нет |
Цитата:
|
Мда уж :)
function q_1 () {
console.log (1);
}
function q_2 () {
console.log (2);
}
for(var i=1; i<3; i++) window['q' + i]();
|
Здравствуйте KSA! Не получаеться загружать и подсчтитывать количество фреймов по мере их загрузки.
Хочу переходить на загрузку следующего ифрейма только по событию готовности прежнего- onload.Использовал конструкцию <iframe id="ifrm" src="demo.html" onload="doSomething()"></iframe> Исправно выдает алерт: onload=alert("Yes!") но передать это в инкримент-мучаюсь уже 4 дня: var i=0; while (i< 9) { iframe.onload = function() { alert('!!!!'); i++; www.document.write('<iframe width="700" height="700" src="'+linksarray[i].href+'"> </iframe> '); var iframe = www.document.getElementsByTagName('iframe')[0]; }; }; ................ПОМОГИТЕ ПОЖАЙЛУСТА............... |
| Часовой пояс GMT +3, время: 16:06. |