Hauptmenü

Untermenü

JavaScript - Einleitung

1. Wichtig!

Auch wenn euch die Reihenfolge in der Navigation ein wenig irritieren mag, so hoffe ich doch, dass ihr euch an meine Empfehlung diesbezüglich gehalten habt und euch erst mal mit einer halbwegs vernünftigen Programmiersprache befasst habt. Denn JavaScript ist doch ein wenig gewöhnungsbedürftig. Außerdem wiederhole ich mich nur ungern, daher findet ihr die elementaren Informationen zu Dingen wie Variablen oder Schleifen auch unter dem Punkt PHP. Ich weise hier an der jeweiligen Stelle aber noch mal deutlich darauf hin. Natürlich auch auf die Unterschiede.

2. Ein Wort zuvor

Leider muss ich gestehen, dass sich mein Know-How in Punkto JavaScript lange, lange Zeit in Grenzen hielt. Das Ganze beruhte auf einer Art Trauma, das ich um 1999 erlitten haben muss. Damals gab es noch keine PopUp-Blocker. Ich besuchte eine Seite (nicht mal Schweinkram!), wollte sie schließen und 5000 neue Fenster gingen auf, immer und immer wieder. Das führte dazu, dass sich mein Internet Explorer total verabschiedete und ich Windows (damals noch 98) komplett neu installieren musste. Danach habe ich JavaScript deaktiviert, und mich jahrelang nicht mehr darum gekümmert.

Erst ab Mitte 2003 fing ich an, mich ein wenig mit diesem Thema zu beschäftigen, und das auch fast nur in Kombination mit der Manipulation von CSS-Anweisungen. Erst seit dem Ajax-Hype habe ich mich wirklich in dieses Thema hineingekniet. Und in den letzten drei Jahren habe ich beruflich so viel damit zu tun gehabt, dass ich mittlerweile ein doch ziemlich guter JavaScript-Programmierer geworden bin.

3. JavaScript - eine Geschichte für sich

Wenn ich mich so mit meinen Programmierkollegen über diese Sprache unterhalte, gibt es eigentlich keinen, der sie wirklich mag. Das liegt daran, dass sie von ihrem Konzept her doch sehr stark von anderen derzeit üblichen Sprachen abweicht. Dabei beruht diese Abneigung nicht nur auf der inneren Struktur, sondern auch auf der Tatsache, dass JavaScript, zumindest meiner Meinung nach, doch ziemlich inkonsistent und vor allem inkonsequent ist.

Keine Regel ohne Ausnahme

Das gilt zwar für viele Programmiersprachen, aber bei JavaScript hat man es auf die Spitze getrieben! Man kann etwas so machen, oder so, oder so, ... manchmal klappt es, manchmal nicht, keine Sau weiß warum, und alle schauen drein, wie eine Kuh wenns donnert. Darum möchte ich den Anfängern unter euch eines kundtun. Bevor ihr euch irgendwann einen Strick holt, um euch vor lauter Verzweiflung am nächsten Laternenpfahl aufzuknüpfen, so denkt immer daran. Ihr seid nicht die Einzigen, die das schon mal erlebt haben.

Wenn also etwas nicht so funktioniert, wie es eigentlich hätte sein sollen, so hilft nur eines. Testen, testen, testen. Probieren, probieren, probieren. Und sich natürlich in den entsprechenden Foren schlau machen. Denn darüber müsst ihr euch im Klaren sein. JavaScript wird vom Browser interpretiert. Und das wirft neue Probleme auf.

5. Die Browser

Manchmal möchte man den Herstellern einfach nur in den Hintern treten ob des Blödsinns, den sie da verzapfen. Und das gilt nicht nur für den Internet Explorer, auch wenn der der Schlimmste von allen ist. Auch der Opera und sogar Firefox hat die eine oder andere Macke. Trotzdem ist unser Hauptproblem nach wie vor dieser so genannte Browser aus dem Hause Microsoft. Denn der setzt viele Dinge schlichtweg nicht standardkonform um, sondern kocht sein eigenes Süppchen. Also stellt euch schon mal darauf ein, dass ihr kurz davor steht, euren Verstand zu verlieren ob all der Seltsamkeiten, die da passieren werden.

6. Frameworks

... sind mittlerweile der Renner in praktisch allen modernen Programmiersprachen. Und auch bei JavaScript gibt es mittlerweile einige davon. Der Sinn dahinter ist der, dass man sehr schnell etwas entwickeln kann, ohne sich um bestimmte Dinge kümmern zu müssen. Das ist ja prinzipiell in Ordnung ...

Aber!

Bevor man sich mit einem Framework beschäftigt, sollte man zumindest die jeweilige Sprache beherrschen. Und das ist gerade bei JavaScript wohl nicht der Fall. Meiner Meinung nach nutzen leider viel zu viele Leute dieses Hilfsmittel, weil sie keinen Bock darauf haben, sich mit dieser Sprache auseinander zu setzen. Da geht dann in 80 bis 90% aller Fälle gut, aber wenn mal etwas nicht funktioniert, sind sie hilflos wie kleine Kinder.

Daher mein eindringlicher Rat! Lernt erst mal, richtig mit JavaScript umzugehen. Und wenn ihr der Meinung seid, das zu beherrschen, sucht euch meinetwegen ein Framework aus. Aber nicht vorher. Darum werdet ihr hier auch nichts zu diesem Thema finden. Sorry, muss sein.

7. Vorgehensweise

Grundlagen

An dieser Stelle versuche ich, euch einen ersten Überblick über die Grundprinzipien von JavaScript zu verschaffen. Allerdings werdet ihr ob der Merkwürdigkeiten dieser Sprache praktisch damit nicht viel anfangen können. Dazu gibt es später die Tutorials. Trotzdem solltet ihr diesen Abschnitt auf keinen Fall überspringen.

Objekte

An dieser Stelle versuche ich, euch das grundsätzliche Prinzip von JavaScript zu erläutern. Ich hoffe, ihr versteht es. Denn eines ist bei dieser Sprache gewiss. Verstehen und erklären sind zwei völlig verschiedene Paar Schuhe.

Objektreferenz

Dies ist ein Überblick über die Möglichkeiten, die uns geboten werden. Ihr müsst das nicht komplett durchlesen, solltet aber auf jeden Fall mal alle Punkte überfliegen. Dann habt ihr einen ersten Eindruck davon, was mit JavaScript möglich ist.

Ajax

An dieser Stelle gehe ich auf eine der Säue ein, die permanent durchs Internet-Dorf getrieben werden. Denn seit etwa drei bis vier Jahren ist es das JavaScript-Thema schlechthin. Gottlob gehört Ajax zu den Dingen, die sich auch längerfristig durchgesetzt haben. Außerdem ist es eine wirklich sinnvolle Möglichkeit, den Beschränkungen des HTTP-Protokolls zu entgehen.

OOP mit JavaScript, DOM-Manipulation, DOM-Scripting

Das ist was für die Leute, die schon einige Kenntnisse in JavaScript vorweisen können. Denn hier geht es um fortschrittliche Programmiertechniken, die einem die Arbeit letztendlich doch erheblich erleichtern können.

weiter zum nächsten Abschnitt