Вызов функции через цикл
Есть несколько функций
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, время: 17:21. |