for-Schleifen Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • for-Schleifen Problem

    Hallo,

    ich habe ein kleines Problem dass mich jetzt schon ein paar Stunden aufgehalten hat. Nachdem ich dann endlich herausgefunden habe, woran es liegt, finde ich dieses Verhalten doch höchst merkwürdig, wollte hier fragen ob jemand das selbe Problem evtl. auch schonmal hatte und ggf. eine Lösung kennt oder gefunden hat.

    Folgede Situation:

    Ich habe ein JavaScript. In diesem JavaScript habe ich eine for-Schleife und in dieser for-Schleife eine weitere. Die erste for-Schleife hat die Zählervariable i, die zweite j. Nun rufe ich innerhalb der zweiten for-Schleife eine eigen geschriebene Funktion auf, in dieser sich wiederum eine for-Schleife befindet, die ebenfalls j als Zählervariable nutzt. Nun überschreibt die aufgerufene Funktion allerdings die Zählervariable der for-Schleife, aus der sie aufgerufen wurde.

    Das ganze mal als Code:

    Code:
    for(i = 0; i < 10; i++) {
    	for(j = 0; j < 10; j++) {
    		myFunction();
    	}
    }
    
    function myFunction() {
    	for(j = 0; j < 10; j++) {
    		// do something
    	}
    }
    Die Funktion myFunction überschreibt also die j-Variable des aufrufenden Scriptes.

    Kennt jemand dieses Verhalten bzw. kennt wer sogar eine Lösung?
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

  • #2
    Wenn du innerhalb der Funktion j mit dem Schlüsselwort "var" deklarierst, ist der Geltungsbereich lokal.

    http://de.selfhtml.org/javascript/sprache/variablen.htm
    ich glaube

    Kommentar


    • #3
      Original geschrieben von ministry
      Wenn du innerhalb der Funktion j mit dem Schlüsselwort "var" deklarierst, ist der Geltungsbereich lokal.

      http://de.selfhtml.org/javascript/sprache/variablen.htm
      *klick* Danke dir =D
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar

      Lädt...
      X