Die drei Antworten lauteten:
»»1. langsam
Das war auch meine Frage, aber ich konnte da keinen signifikanten Unterschied feststellen, deshalb auch die Nachfrage. Und die beantwortete Struppis Antwort nicht.
Probier's doch einfach selber mal aus!
einfach vor deinem eval
start = new Date();
eval ist evil x 1000
end = new Date();
alert(end - start);
Du wirst darauf kommen, das eval das Programm ca. 10x langsamer macht.
- Überflüssig
Das ist ein Argument. Deshalb "quälte" ich mich heute damit, evals zu eliminieren, aber ich fand nicht immer eine Alternative (wie z.B. das with() in meinem Bsp.).
Wisoe sollte with eine alternative sein?
In deinem Fall ist einfach die richtige Verwendung die Alternative
Mathiashat dir ja schon erklärt, dass das falsch ist:
eval(arrSubMenu[i] + ".style.backgroundColor = '#e3e3e3'");
»»3. Fehlersuche
Das stimmt so nicht. Es kommt auf den Fehler an, sowohl Wenkman (JS-Debugger von NS) als auch der Windows SriptDebugger von M$ melden in entsprechenden Zeilen den Fehler, aber wie gesagt: das kommt auf den Fehler an.
Naja, wenn du bei jeden kleinen Tippfehler erst den Debugger anwirst ist das ok, aber ziemlicher Aufwand um etwas überflüssiges zu benutzen, oder?
Struppi.