Java Reference
In-Depth Information
Externe JavaScript-Dateien einsetzen, Dateien zusammenfassen und
Kodierung kennzeichnen
Grundsätzlich sollten Sie externe JavaScript-Dateien verwenden und diese eventuell expli-
zit im Skript-Tag über das Attribut charset mit utf-8 kennzeichnen. Das ist nicht nur eine
Frage der Performance, sondern die Vorteile externer Skripte haben wir ja bereits an ver-
schiedenen Stellen behandelt. Darauf gehen wir hier nicht mehr erneut ein. Die Festlegung
des Zeichensatzes beugt Problemen mit Sonderzeichen und Umlauten vor, wenn die aufru-
fende Webseite in einer anderen Zeichenkodierung vorliegt. Wenn Sie aber mehrere externe
JavaScripts in eine Webseite einbinden, ist es ot in Hinsicht auf die Performance besser, die
Skripte zu einer Skript-Datei zusammenzufassen, wenn Sie die Skripte selbst unter Kont-
rolle haben. Dann muss der Browser weniger Requests nach Ressourcen wegschicken.
HInWEIS: Wenn Sie die Anweisung ”use strict”; schon einsetzen, darf die
Option einmal ganz am Anfang des Skripts stehen. Wenn Sie mehrere externe
Skripts zusammenfassen, müssen Sie die Option gegebenenfalls in den zusam-
mengefassten Dateien entfernen.
Auf die überlüssige Erstellung von Objekten verzichten und
insbesondere keine Funktionsobjekte benutzen
Das Erstellen von Objekten ist grundsätzlich sehr aufwendig für das Laufzeitsystem und
damit nicht sonderlich performant. Wenn man es vermeiden kann, beschleunigt man durch
eine alternative Lösung sein Skript, sofern man hier nicht einen qualitativ schlechten
Ansatz wählen oder sonst einen Preis bezahlen muss. Insbesondere sollte man nicht mit
new Function() ein Funktionsobjekt erzeugen, sondern mit einer anonymen Funktion oder
einer Funktionsreferenz arbeiten.
Vermeiden von überlüssiger Ausnahmebehandlung
So efektiv Ausnahmebehandlung zum Abfangen von nicht geplanten Situationen ist, so
schlecht ist das Verfahren für die Performance. Sie sollten gut abwägen, ob Sie wirklich
Ausnahmebehandlung in einer bestimmten Situation brauchen. Ausnahmebehandlung ist
immer eine reine Schutzmaßnahme und sollte  - bis auf wenige Sonderfälle  - für nichts
anderes verwendet werden. Und wenn Sie wirklich alle potenziellen Probleme durch Vorab-
prüfungen abfangen können, machen Sie das. Und vermeiden Sie die Programmlusssteue-
rung über Ausnahmen.
Kein eval()
Die Funktion eval() ist sowohl unsicher als auch inefektiv. Verzichten Sie auf deren Einsatz.
Sie können immer numerische Ausdrücke direkt auswerten. Es gibt nur wenige Situationen,
in denen Sie diese Funktion wirklich brauchen (etwa zur Erzeugung eines Objekts aus einem
JSON-String, wenn Sie ältere Browser unterstützen wollen). Bezüglich der Sicherheit ist das
Problem, dass die Funktion alles ausführen wird, was ihr als String übergeben wird. Ein
String kann ja auch durchaus kritische Anweisungen enthalten. Aber auch in Hinsicht auf
Performance ist ein Einsatz dieser Funktion schlecht - obwohl sie gerade in der Verwertung
von JSON gar nicht so schlecht gegenüber Alternativen abschneidet. Der Verzicht bringt aber
 
Search WWH ::




Custom Search