Steffen Flämig: eval Problem: function in einem String ausführen

Hallo,

ich habe einen String der z.B. folgendes enthält:

var myString = "eineFunktion=einParameter";

Nun soll eineFunktion(einParameter) aufgerufen werden.
Leider funktioniert das so nicht:
{
  ...
  var action = new Array();
  action = myString.split("=");
  function()
  {
    eval(action[0] + "(" + action[1] + ")");
  }
}
function(p)
{
  alert(p);
}

Hat jemand einen Tip für mich?

Gruß
Steffen

  1. Moin
    so:

    var text="alert='test'";  
    var action = text.split("=");  
    eval(action[0] + "(" + action[1] + ")");  
    
    ~~~ funktionierts bei mir.  
    Wozu  
    function() ?  
    der ganze Aufwand?  
      
    Gruß  
    rfb
    
    -- 
    Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.  
    (Galileo Galilei)
    
    1. Hallo,

      var text="alert='test'";

      var action = text.split("=");
      eval(action[0] + "(" + action[1] + ")");

      Ich hatte kein ' um den Parameter ;-/.  
        
      
      > Wozu  
      > function() ?  
      > der ganze Aufwand?  
      
      Irgendwie dach ich das ;-).  
        
      Danke, jetzt funktioniert es.  
        
      Gruß  
      Steffen;
      
  2. Hat jemand einen Tip für mich?

    Ja.
    eval ist hier, wie so oft nicht nötig:

    var myString = "eineFunktion=einParameter";  
    var action = myString.split("=");  
    window[action[0]]( action[1] ) ;  
      
    function eineFunktion(p)  
    {  
      alert(p);  
    }  
    
    

    Struppi.

    --
    Javascript ist toll (Perl auch!)