| 3/4 |
|
INHALT
Objects, Methods, Properties, Variabeln (2/4) Interessante Links zu JavaScript (4/4) Beispiele in JavaScript: |
. | Wanzensuche Seien Sie nicht frustriert, wenn Ihr erstes Script einige Bugs beinhaltet. Jeder macht Fehler, ganz egal, ob er Anfänger ist oder Experte. Debugging ist ein normaler Bestandteil jedes Programmentwicklungsprozesses, allerdings ein unerlässlicher. Sie können Ihre Scripts nicht genug testen, und vergessen Sie nicht, dass die einzelnen Browser- und JavaScript-Varianten alles andere als kompatibel sind. Testen Sie Ihre Scripts mit allen verfügbaren Versionen und machen Sie notfalls entsprechende Kompatibilitätshinweise auf Ihren Seiten. In den meisten Fällen handelt es sich beim Fehler um ein unkorrektes Statement. Sie werden vom Browser mit einem grossen Fenster auf den Bug aufmerksam gemacht, der dann meist problemlos korrigiert werden kann. In Ausnahmefällen wird der Fehler aber durch Unlogik verursacht. Alle Statements stimmen, aber der Output ist falsch. Solchen Fehlern auf die Schliche zu kommen, ist mit einiger Mühe verbunden. Normalerweise zeigt das Fehler-Fenster, wo der Bug sitzt. Allerdings benützt der Browser recht mysteriöse Meldungen, die kaum wirklich sagen, was denn genau der Fehler ist. So kann eine ‘nicht definierte Funktion’ auch ganz einfach falsch geschrieben sein. Immerhin sagt die Meldung klar, wo der Fehler zu finden ist. Fehlerquellen gibt es viele. Zwar behandelt JS alle Buchstaben gleich, «document.write» und «DOCUMENT.WRITE» sind also dasselbe. Namen von Funktionen oder Variablen dagegen werden nur erkannt, wenn sie identisch geschrieben sind: «submitit()» und «submitIt()» sind demnach zwei verschiedene Funktionen. Ausserdem ist darauf zu achten, dass beinahe alle Statements entweder mit Klammern ( ( [ { } ] ) ), Anführungszeichen ( ‘ " ) oder beidem geöffnet und auch geschlossen werden müssen. Oft geht das eine oder andere Zeichen vergessen. Analysieren Sie auch die Fehlermeldung (wechselnde Teile haben wir hier mit ??? gekennzeichnet): • ??? is not defined bedeutet, dass Sie entweder etwas falsch geschrieben haben oder die Funktion fehlt. Es ist auch möglich, dass die Funktion aufgerufen wird, bevor sie definiert ist, also an einem falschen Platz im Dokument sitzt. •??? is not a function meint, dass Sie eine Funktion aufrufen, die gar nicht existiert. Sie ist entweder nicht definiert oder falsch geschrieben. •??? is not a numeric literal zeigt auf, dass Sie einen numerischen Wert als String verwenden wollen z.B. document.write(1 + "st"). Zu diesem Zweck müssen Sie erst die Zahl in einen String konvertieren, was problemlos so gemacht werden kann: document.write("" + 1 + "st"). Das letzte Beispiel zeigt einen Fehler, der durch eine unlogische Vorgehensweise generiert wurde. Ein Computer ist niemals in der Lage, den Sinn eines Ausdrucks zu erkennen, wenn dieser nicht ganz genau definiert, richtig geschrieben und im passenden Format ist. Learning
by doing Ausblick
auf Teil 2 Ausserdem werden wir auf die neuen JavaScript StyleSheets und Layers eingehen, die Netscape mit ihrem Navigator 4.0 zur Verfügung stellt, die aber ohne JavaScript ihre Stärke kaum voll entfalten können. (mva) Event Handler
|
||||||||||||||||||||||||