JavaScript: Funktion als Parameter uebergeben und in Variable speichern, geht das?



  • Hallo,
    Ich hatte bei der Funktion window.setTimeout() beobachtet, dass man per " auch ganze Funktionen als Parameter uebergeben kann. Demnach dachte ich, wenn ich diese auch in Variablen speichern koennte, waere etwa folgendes moeglich:

    function funcA(){
        doSomething(5, "funcB()");
    };
    function funcB(){
        // continue
    };
    
    var iXTimes;
    var funcToContinue;
    function doSomethingXTimes( times, func){
        iXTimes = times;
        funcToContinue = func;
        recDoSomething();    
    };
    function recDoSomething(){
        if(iXTimes<=0){
            funcToContinue();
        }else{
            --iXTimes;
            // foo
            window.setTimeout("recDoSomething()", 500);
        }
    };
    // foo soll iXTimes mal wiederholt werden, 
    // nach jew. ner halben sec Wartezeit
    

    Leider funktioniert der Code bei mir nicht. Allerdings weiss ich nun nicht ob es mit einer anderen Syntax geht oder ob das gar nicht moeglich ist?



  • Probier mal sowas:

    var func = "alert('hi')";
    eval (func);
    
    var fp =function(name) { alert ("hallo " + name); }
    fp("jojo");
    );
    

Anmelden zum Antworten