Hallo,
for (var i=0; i<(test.arguments.length - 1); i+=2)
eval(test.arguments[i]+".location='"+test.arguments[i+1]+"'");
- da i mit 0 initialisiert wird, ist die abbruch-bedingung immer erfüllt
- das heisst: alles was er macht ist den rückgabeparamter auf false zu setzen
Nicht ganz. Die Abbruchbedingung ist erst dann erfüllt, wenn i >= test.arguments.length - 1 ist.
Stell dir eine For-Schleife am besten als While-Schleife. Nichts anderes macht der Compiler/
Interpreter nämlich letztendlich daraus.
Aus
for (a; b; c) {
code;
}
wird
a;
while (b) {
code;
c;
}
In diesem Fall wird aus der genannten for-Schleife folgendes:
var i = 0;
while (i < test.arguments.length - 1) {
eval(test.arguments[i]+".location='"+test.arguments[i+1]+"'");
i += 2;
}
Also wird der Code in der While-Schleife so lange ausgeführt, wie i < test.arguments.length -1 ist.
Gruß
Slyh