twb: Arrays statt endloser var-Definitionen

Ich bin ein blutiger js-Anfänger und habe dennoch ein Skript geschrieben, das nun unter IE und Mozilla zu laufen scheint. Dennoch: Die <a href=-Definitionen

ah="<a href=javascript:";
ae=" style=font-family:Arial;font-size:8pt;line-height:8pt;color:#cc0000;text-decoration:none>";
a="</a>";

b1=ah+"str()"+ae+" chrono "+a;
b2=ah+"stp()"+ae+" stop/split "+a;
b3=ah+"lap()"+ae+" lap "+a;
b4=ah+"str()"+ae+" restart "+a;
b5=ah+"tm()"+ae+" time "+a;
b6=ah+"spl()"+ae+" return "+a;
b7=ah+"run()"+ae+" add "+a;

(die ich später im Skript ausgeben lasse) scheinen mir etwas SEHR seriell zu sein und gehen mir ehrlich gesagt auch gegen den Strich, und ich frage mich, ob ich die sieben Variablen b1-b7 nicht besser mit zwei Arrays lösen müsste. Allein, mir fehlt das Können. Hat jemand einen klugen Tipp?

  1. Moin

    ah="<a href=javascript:";
    ae=" style=font-family:Arial;font-size:8pt;line-height:8pt;color:#cc0000;text-decoration:none>";
    a="</a>";

    b1=ah+"str()"+ae+" chrono "+a;
    b2=ah+"stp()"+ae+" stop/split "+a;
    b3=ah+"lap()"+ae+" lap "+a;
    b4=ah+"str()"+ae+" restart "+a;
    b5=ah+"tm()"+ae+" time "+a;
    b6=ah+"spl()"+ae+" return "+a;
    b7=ah+"run()"+ae+" add "+a;

    (die ich später im Skript ausgeben lasse) scheinen mir etwas SEHR seriell zu sein und gehen mir ehrlich gesagt auch gegen den Strich, und ich frage mich, ob ich die sieben Variablen b1-b7 nicht besser mit zwei Arrays lösen müsste. Allein, mir fehlt das Können. Hat jemand einen klugen Tipp?

    (Arrays sind auf http://selfhtml.teamone.de/javascript/objekte/array.htm eigentlich sehr schön erklärt, aber was solls...

    ah='<a href="javascript:';
    ae='()" style="font-family:Arial;font-size:8pt;line-height:8pt;color:#cc0000;text-decoration:none"> ';
    a=' </a>';

    ba=new Array("str","stp","lap","str","tm","spl","run");
    bb=new Array("chrono","stop/split","lap","restart","time","return","add");
    b=new Array(ba.length);

    for(i=0; i<ba.length; i++)
     b[i]=ah+ba[i]+ae+bb[i]+a;

    Ich hab nebenbei noch dafür gesorgt, dass der generierte HTML-Code sauber wird (also überall Anführungszeichen hin, wo sie hingehören).

    (Ungetestet)
    --
    Henryk Plötz
    Grüße aus Berlin

  2. Ich hab's jetzt nicht getestet, aber so als Anregung...

    var x = new Array("str()", "stp()", "lap()", "str()", "tm()", "spl()","run()");
    var y = new Array("chrono", "stop/split", "lap", "restart", "time", "return", "add");

    var b = new Array(7);
    for(var i=0; i<7; i++) {
        b[i] = "<a href=javascript:" + x[i] + " style=font-size:8pt> " + y[i] + " </a>";
    }

    Erwähnenswerte Punkte:
    *) Die Arrays x und y wurden gleich im Konstruktor mit Werten befüllt.
    *) Wertzuweisung an Array b in einer Schleife
    *) Hier könnte auch eine foreach-Schleife verwendet werden.
    *) den Mittelteil (deine Variable ae) hab ich aus Gründen der Übersicht gekürzt.
    *) Möchtest/musst Du im String Anführungszeichen verwenden: Backslash voranstellen! z.b: " style="font-size:8pt"> "

    Liebe Grüße aus Wien
    Thomas

    Ich bin ein blutiger js-Anfänger und habe dennoch ein Skript geschrieben, das nun unter IE und Mozilla zu laufen scheint. Dennoch: Die <a href=-Definitionen

    ah="<a href=javascript:";
    ae=" style=font-family:Arial;font-size:8pt;line-height:8pt;color:#cc0000;text-decoration:none>";
    a="</a>";

    b1=ah+"str()"+ae+" chrono "+a;
    b2=ah+"stp()"+ae+" stop/split "+a;
    b3=ah+"lap()"+ae+" lap "+a;
    b4=ah+"str()"+ae+" restart "+a;
    b5=ah+"tm()"+ae+" time "+a;
    b6=ah+"spl()"+ae+" return "+a;
    b7=ah+"run()"+ae+" add "+a;

    (die ich später im Skript ausgeben lasse) scheinen mir etwas SEHR seriell zu sein und gehen mir ehrlich gesagt auch gegen den Strich, und ich frage mich, ob ich die sieben Variablen b1-b7 nicht besser mit zwei Arrays lösen müsste. Allein, mir fehlt das Können. Hat jemand einen klugen Tipp?