Newbie braucht hilfe mit for-Schleife
conti
- javascript
Hallo zusammen! ich bräuchte mal eure hilfe. ich weiß selber das es einfach sein müsste aber ich komm und komm nicht drauf. Also:
Ich habe fünf Funktionen: T1(), T2(), T3(), T4(), T5()
Nun möchte ich eine for-schleife schreiben die sie mit hilfe einer hilfsvariable nacheinander aufruft. mein versuch schaut so aus:
for(i=1; i==5; i++){
T+i+();
}
es klappt aber nicht...was mach ich falsch?
Gruß
Conti
Hallo,
a1 = function() {
alert("a1");
}
a2 = function() {
alert("a2");
}
for (i=1; i<3; i++){
window["a"+i]();
}
oder
funtionName = "a" +i;
windowfunctionName;
Gruß
jobo
Hallo conti,
T+i+();
...was mach ich falsch?
du bildest die Summe von T, i und (), was falsch ist und was du ja auch nicht willst.
Du könnetst deine Funktionen als Array anlegen und dann per Ti aufrufen. Du könntest aber auch ausnutzen, dass globale Funktionen auf verschiedene Weisen aufgerufen werden können:
function T1() {
// irgendwelcher Code
}
T1();
window.T1();
window"T1";
i=1;
window"T"+i;
Gruß, Jürgen
Ich habe fünf Funktionen: T1(), T2(), T3(), T4(), T5()
Das ist schon ein Problem, warum sollten Funktionen durchnummeriert sein?
for(i=1; i==5; i++){
globale Schleifenvariabeln sind dringend zu elimineiren.
es klappt aber nicht...was mach ich falsch?
Ich würde das Konzept nochmal überdenken, auch wenn es theoretische Lösungen gibt. Wieso sind die Funktionen durchnummeriert? Sollte das nicht lieber ein Parameter sein?
Struppi.
Ich habe fünf Funktionen: T1(), T2(), T3(), T4(), T5()
Das ist schon ein Problem, warum sollten Funktionen durchnummeriert sein?
for(i=1; i==5; i++){
globale Schleifenvariabeln sind dringend zu elimineiren.
es klappt aber nicht...was mach ich falsch?
Ich würde das Konzept nochmal überdenken, auch wenn es theoretische Lösungen gibt. Wieso sind die Funktionen durchnummeriert? Sollte das nicht lieber ein Parameter sein?
Struppi.
Wie gesagt ich bin ein Anfänger der seit knapp 2 Monaten sich mit JS beschäftig und kenn mich da noch nicht so besonders aus.
Die Funktionsnamen sind so vorgegeben und können auch nicht verändert werden.
Wieso keine globalen Schleifenvariablen?
Wie meinst du das mit den Parametern?
Gruß
Conti
Hallo Conti,
Wieso keine globalen Schleifenvariablen?
bei globalen Variablen besteht grundsätzlich das Problem, das auch andere Programmteile lesend und(!) schreibend darauf zugreifen können. Stell dir mal vor, dein Script arbeitet gerade eine Schleife ab, wenn der Besucher über z.B. einen Mausklick eine Funktion startet, die auch eine Schleife mit gleichem Schleifenzähler (üblicherweise das i) enthält.
Wie meinst du das mit den Parametern?
var tu_was_mit = function(parameter1,parameter2) {
alert(parameter1+" "+parameter2);
}
tu_was_mit("Hallo","Welt");
tu_was_mit("was weiß","ich");
Gruß, Jürgen
Hi,
Wie gesagt ich bin ein Anfänger der seit knapp 2 Monaten sich mit JS beschäftig und kenn mich da noch nicht so besonders aus.
Und in der Zeit sind dir noch nicht mal Funktionen und Parameter über den Weg gelaufen?
MfG ChrisB
Vor allem sollte hier statt == ein < rein
for(i=1; i==5; i++){
Vor allem sollte hier statt == ein < rein
for(i=1; i==5; i++){
Oder besser i != 5
Struppi.
Hallo,
Ich habe fünf Funktionen: T1(), T2(), T3(), T4(), T5()
Nun möchte ich eine for-schleife schreiben die sie mit hilfe einer hilfsvariable nacheinander aufruft.
Ich hätte da auch noch eine Variante:
var o = { 1:T1, 2:T2, 3:T3, 4:T4, 5:T5 };
for (var n in o){ o[n](); }
Gruß, Don P
for (var n in o){ on; }
hi Don P,
die bedingung der for-schleife sieht komisch aus! kannst du sie mir mal erklären?
gruß
conti
Hallo conti,
du solltest mal irgendein Javascript-Buch lesen, damit wenigstens die Grundlagen vorhanden sind. Siehe z.B. http://de.selfhtml.org/javascript/sprache/schleifen.htm#for
Gruß, Jürgen