Javascript Notizen
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Im aktuellen Bedarf, mich mit Javascript im Zusammenhang DOM und Grafik auseinanderzusetzen, werde ich hier Notizen, wie sie einem beim Erforschen eine Sprache nützlich sind, als praxisbezogenes, hereinstellen. Bin natürlich froh, wenn sich Experten oder gleichgesinnte einklinken und wir unseren Senf (oder Honig) gemeinsam sammeln. Natürlich bin ich "Newcomer" und dankbar für Korrekturen. -- HelmutLeitner 30. Juni 2006 12:28 CET

Besonderheiten

JS ist offenbar, wie vermutlich moderne Scriptsprachen intern um den Datentyp HashTabelle konzipiert. Sogar Arrays sind als Hash implementiert und funktionieren somit als "sparse Arrays", können also leere oder undefinierte Elemente enthalten und die formale Array-Länge ar.length() sagt nichts über die tatsächlich vorhandene Anzahl von Elementen aus (außer, dass nicht mehr vorhanden sein können). Objekte, Arrays, Hashes sind eng verwandt und als Parameter oft austauschbar. Sogar Funktionen sind wiederum Hashes (sie enthalten z. B. einen Array ihrer Parameter). Objekte enthalten als Hashes auch Funktionen (Variablen, die Zeiger zu Funktionen enhalten) und können somit auch dynamisch verändert werden.

Im Bezug auf Webseiten und DOM ist interessant, dass JavaScript und DOM weitgehend integrierte Systeme sind. D. h. ein DOM-Objekt kann unmittelbar als Javascript-Objekt verwendet werden (vermutlich ohne irgendeine interne Kompaibilitäthürde) und man kann z. B. zu einem Objekt der Web-Seite (etwa einem <div>...</div> Element) unmittelbar zusätzliche JS-Eigenschaften hinzufügen (konkret z. B. als divobj.xy=5 ).

Performance und Optimierung

JS ist nicht gerade ein Performance-Kaiser und vermutlich langsamer als ziemlich jede Alternative. Kein Wunder, da doch nahezu jede Aktion (Variablenzugriff, Methodenaufruf) über eine Hierarchie von "Hashes von Hashes" erfolgt. Umso wichtiger ist es, keine unnotwendigen Objekte zu initialisieren, keine tiefen Objekthierarchien aufzubauen und lange Zugriffswege zu vermeiden.

Browserinkompatibilitäten

Notorisch ist, dass ein Javascript-Code oft nicht überall, auf verschiedensten Browsern, läuft. Wenn man also grundsätzliches, speziell mit DOM tut, dann ist es sicher gut, alle Neuerungen mit mehreren browser zu testen (ich verwende im Moment IE, Opera und Firefox parallel für diesen Zweck). IE hat viele Eigenarten, die man durch speziellen Code berücksichtigen muss, d. h. das parallel Testen im IE und nicht-IE hat besondere Bedeutung.

Debug-Environment

Firefox hat für mich bis jetzt das angenehmste Environment, vor allem neben einer Tools-Javascript-Console (die einigermaßen brauhbare Fehlermitteilungen ausspuckt) auch einen DOM-Inspektor, mit dem man die Hierarchie der DOM-Webseitenstruktur direkt anschauen kann. Das war schon oft wertvoll.

Einfache Mitteilungen kann man sich mit der Funktion alert(...) als Popupfenster geben lassen.


KategorieJavascript


StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 30. Juni 2006 12:42 (diff))
Suchbegriff: gesucht wird
im Titel
im Text