n'Abend,
so isses, für js ist das einfach kein Vergleichsoperator sondern eine Zuweisung an unpassender Stelle...
... die dann dazu führt, dass der Ausruck in der if()-Klammer immer true ergibt, nachdem die Zuweisung ausgeführt wurde.
Auch in C ist das ist ein häufiger Fehler. Der gute alte Borland-Compiler schmeißt mir da z.B. die Warnung "Possibly incorrect assignment" entgegen. "Possibly" deshalb, weil es unter Umständen auch korrekt sein könnte, wenn der Programmierer entsprechend durchtrieben arbeitet. Ich schreibe z.B. gern möglichst kurzen, kompakten Code. Da kommt etwas wie
if (p=malloc(memsize))
...
durchaus öfters vor - und das meine ich dann wirklich so! ;)
Ciao,
Martin