heinetz: Javascript-Funktion dynamisch erweitern/verändern

Hallo Forum,

ist es möglich, eine selbstdefinierte JS-Funktion dynamisch
zu erweitern/verändert. Schwer zu beschreiben. Daher anhand
eines Beispiels:

  
<html>  
<head>  
<script>  
var variable;  
function test ()  
             {  
              alert ("test");  
              if (variable) alert (variable);  
             }  
</script>  
  
<script>  
variable = "wert";  
document.onload = test;  
</script>  
</head>  
</html>  

Das würde dazu führen, dass die Funktion "test" nach Laden
des Domuments ausgeführt wird und zweimal etwas "alertet".
Der zweite alert() ist abhänig davon, dass die Variable
'variable' einen Wert enthält. Wäre der Variabken kein Wert
zugewiesen worden, hätte die Funktion test nur "test" alertet.

Weil ich auf die Verwendung von variable genre ganze verzichten
würde, frage ich mich, ob es wohl möglich ist, die Funktion
"test" an sich per Javascript vor dem Ausführen zu erweitern.

Etwa so etwas:

  
<html>  
<head>  
<script>  
var variable;  
function test ()  
             {  
              alert ("test");  
             }  
</script>  
  
<script>  
test+= "alert('wert')";  
document.onload = test;  
</script>  
</head>  
</html>  

Ist soetwas denkbar ?

danke für Tipps und

beste gruesse,
hienetz

ps.
ich habe mir, wie immer, alle Mühe gegeben meine Frage
so knapp wie möglich aber so ausführlich wie nötig zu
stellen.

  1.   
    <html>  
    <head>  
    <script>  
    var variable;  
    function test ()  
                 {  
                  alert ("test");  
                 }  
    </script>  
      
    <script>  
    test2 = function(){ alert('wert');test();};  
    document.onload = test2;  
    </script>  
    </head>  
    </html>  
    
    
    1. danke für den Hinweis!

  2. @@heinetz:

    nuqneH

    var variable;
    function test ()
                 {
                  alert ("test");
                  if (variable) alert (variable);
                 }

    Globale Variablen sind selten eine gute Idee.

    ich habe mir, wie immer, alle Mühe gegeben meine Frage
    so knapp wie möglich aber so ausführlich wie nötig zu
    stellen.

    Nicht ganz. WARUM willst du die Funktion erweitern? Sprich: Was ist das EIGENTLICHE Problem, was du damit zu lösen gedenkst?

    Willst du vielleicht zwei Funktionen beim 'load'-Event ausführen?

    function test() { alert("test"); }  
      
    window.addEventListener("load", test, false);  
      
    window.addEventListener("load", function () { alert("wert"); }, false);
    

    Siehe [molily §18].

    IEs halten sich nicht an den Standard, haben aber eine proprietäre Variante auf Tasche. [molily §19] Für eine Helferfunktion siehe [molily §21].

    Qapla'

    --
    Volumen einer Pizza mit Radius z und Dicke a: pi z z a
    1. nein,

      für tinyMCE lässt sich für 'oninit:' ein Ereignis, also
      z.B. ein Funktionsaufruf definieren. Später im Skript
      entscheidet sich, ob u.U. noch etwas mehr geschehen soll.
      Das hatte ich ursprünglich so gelöst, dass später im
      Skript ein Flag gesetzt wird, dass in der Funktion
      abgefragt wird. Da habe ich mich gefragt, ob ich nicht
      eine zuvor selbst defnierte Funktion an sich per Skript
      ändern kann.

      gruesse,
      heinetz

      1. abgefragt wird. Da habe ich mich gefragt, ob ich nicht
        eine zuvor selbst defnierte Funktion an sich per Skript
        ändern kann.

        So wie du dein Fall schilderst, ist das nicht nötig.

        Struppi.