Michael W.: variablen

Hallo,

Ich weiss ich hab das gestern schonmal gefragt, aber jetzt bezieht sie sich auf eine schleife:

ich möchte innerhalb einer for schleife in JS eine variable haben die am ende immer eine zahl von 01 - 09 hat:

vari01
vari02
...
vari09

da diese in einer abfrage steckt if(vari01 == '...') mit einem komplexen block dran, sollte das in einer schleife die tipp arbeit ein wenig ersparen wenn ich wüsste wie ich aus vari vari[i] (i=zähler von der schleife).

Danke

MfG
Michael Wölk

  1. Hallo,

    Ich weiss ich hab das gestern schonmal gefragt, aber jetzt bezieht sie sich auf eine schleife:

    ich möchte innerhalb einer for schleife in JS eine variable haben die am ende immer eine zahl von 01 - 09 hat:

    vari01
    vari02
    ...
    vari09

    Dafür nimmt man üblicherweise Arrays!

    var vari = new Array();

    vari[vari.length] = 'Bla';
    vari[vari.length] = 'Blupp';
    vari[vari.length] = 'Blobb';
    ...

    for(var i = 0; i < vari.length; i++)
    {
       if(vari[i] == '...') {....}
    }

    Struppi.

    1. OK danke hat mich schonmal ein stück voran gebract, aber das eigentliche problem besteht noch:

      ich hab ne variable id, da steht eine zahl von  1 - 9 drin

      jetzt gibt es die funktion img1.src = 'green.gif'; die mir mein bild mit der id img1 hat wechselt auf green.gif. anstatt der eins soll immer die zahl stehen die die variable id hat also
      imgID.src = 'green.gif';

      geht das nicht?

      MfG
      Michael Wölk

      1. OK danke hat mich schonmal ein stück voran gebract, aber das eigentliche problem besteht noch:

        ich hab ne variable id, da steht eine zahl von  1 - 9 drin

        jetzt gibt es die funktion img1.src = 'green.gif'; die mir mein bild mit der id img1 hat wechselt auf green.gif. anstatt der eins soll immer die zahl stehen die die variable id hat also
        imgID.src = 'green.gif';

        geht das nicht?

        klar.

        document.images['img' + i]. src = ...

        Struppi.

  2. ich möchte innerhalb einer for schleife in JS eine variable haben die am ende immer eine zahl von 01 - 09 hat:
    vari01
    ...
    vari09
    da diese in einer abfrage steckt if(vari01 == '...') mit einem komplexen block dran, sollte das in einer schleife die tipp arbeit ein wenig ersparen wenn ich wüsste wie ich aus vari vari[i] (i=zähler von der schleife).

    wenn du wissen moechtest, wie man mit arrays arbeitet, dann empfehle ich zum studium http://forum.de.selfhtml.org/javascript/objekte/array.htm
    (oder bist auf die variablennamen vari01, ..., var09 angewiesen? dann wird dir eval helfen. einfach mal das forum nach "eval" durchsuchen)

    prost
    seth

    1. ich möchte innerhalb einer for schleife in JS eine variable haben die am ende immer eine zahl von 01 - 09 hat:
      vari01
      ...
      vari09
      da diese in einer abfrage steckt if(vari01 == '...') mit einem komplexen block dran, sollte das in einer schleife die tipp arbeit ein wenig ersparen wenn ich wüsste wie ich aus vari vari[i] (i=zähler von der schleife).
      wenn du wissen moechtest, wie man mit arrays arbeitet, dann empfehle ich zum studium http://forum.de.selfhtml.org/javascript/objekte/array.htm
      (oder bist auf die variablennamen vari01, ..., var09 angewiesen? dann wird dir eval helfen. einfach mal das forum nach "eval" durchsuchen)

      Nein! nicht eval verwenden!

      eval ist evil. Es ist langsam fehlerträchtig und absturzprovozierend und in 99.999% der Fälle überflüssig.

      du kannst so darauf zugreifen, wenn du keine arrays verwenden willst:
      for(var i= 0;i < 9;i++) alert( window['vari0' + i] );

      Struppi.

      1. hi Struppi!

        Nein! nicht eval verwenden!
        eval ist evil. Es ist langsam fehlerträchtig und absturzprovozierend und in 99.999% der Fälle überflüssig.

        oops, sorry, wusste ich nicht. ich dachte immer, es gebe in js keine bessere moeglichkeit call-by-name zu realisieren.
        unter welchen voraussetzungen kommt es denn mal zu abstuerzen? hab das forum durchsucht, aber da schreiben die leute immer nur, dass eval doof sei, aber begruenden nicht wirklich...

        window['vari0' + i]

        ist das standardkonform? (wo kann man mehr darueber nachlesen?)

        prost
        seth

        1. hi Struppi!

          Nein! nicht eval verwenden!
          eval ist evil. Es ist langsam fehlerträchtig und absturzprovozierend und in 99.999% der Fälle überflüssig.
          oops, sorry, wusste ich nicht. ich dachte immer, es gebe in js keine bessere moeglichkeit call-by-name zu realisieren.
          unter welchen voraussetzungen kommt es denn mal zu abstuerzen? hab das forum durchsucht, aber da schreiben die leute immer nur, dass eval doof sei, aber begruenden nicht wirklich...

          eval ist vor allem für NC 4.x ein Problem. Es hat sich gezeigt, dass er häufiger abstürzt bei gebrauch von eval, aber es läßt sich nicht wirklich beweisen.

          window['vari0' + i]
          ist das standardkonform? (wo kann man mehr darueber nachlesen?)

          Ja.
          Alles was du global definierst ist im scope window/self.

          Struppi.