Js какая то непонятка с функциями.

Shure

Новичок
Js какая то непонятка с функциями.

Господа, разъясните как реализовать данную идею (js)
PHP:
var func_arr=[];
window.onload=function(){
    for(var i=1;i<=16;i++){
        func_arr[i]=function(s){
            alert(i);
            setTimeout("func_arr["+i+"]("+i+")", 5000);
        }(i);
    }
};

Ошибка: func_arr[1] is not a function
В чем трабла?
 

Shure

Новичок
Задача простая...
В массив заношу функции и потом вызываю с переодичностью 5 секунд...
 

est-in

Новичок
Это прямо таки дзен по JS Ж)

PHP:
var a = function() { return 'is a string';}();
alert(a);
Ты ожидаешь результат - function() { return 'is a string';}
А получаешь строку 'is a string'

Приоритет операций.

Длеай без вызова функции, т.е. ()

Другими словами - сначала выполняется все справа от знака "=", и резултат правой части присваевается левой...

P.S. так можно проверять js программистов на проф. пригодность :)... шутка
 

Shure

Новичок
Проблема решена

var func_arr=[];

window.onload=function(){
for(var i=1;i<=16;i++){
func_arr=function(i){
show_me(i, all);
setTimeout("func_arr["+i+"]("+i+")", 5000);
};
func_arr(i);
}
};
 
Сверху