LX: Geschwindigkeit von Javascript-Befehlen?

Beitrag lesen

Hallo!

Ich schreibe mehrmals hintereinander den Inhalt mittels document.write. Ist es schneller, wenn ich den Inhalt in eine Variable schreibe und zum Schluss einmal mit document.write ausgeben lassen? Falls ja, gibt es eine Begrenzung der Länge des Variableninhalts? Es gibt vielleicht Probleme wenn ich da 20 kb an Text reinschreiben will.

Du wirst auf mehrere Bremsen stoßen. Die eine besteht darin, dass bei einer Manipulation des DOM die Page neu gerendert werden muss - derartige Manipulationen sind also so selten wie möglich zu verwenden. Eine Variable kann bei JavaScript nahezu beliebig großen Inhalt enthalten, da gibt es nur die Speicherbegrenzung der JavaScript-Engine.

Das nächste Problem besteht beim IE darin, dass jeder selbst statisch definierte String als neues Object im Speicher aufgemacht wird, was unnötig Zeit kostet. Idealerweise schmeißt Du die Strings erst einmal in ein Array, welches Du schließlich mit .join('') zusammenfügst.

Gibt es Geschwindigkeitseinbußen, wenn ich Variablen in einem Array speichere?

Nein, im Gegenteil - die Array-Adressierung ist auch im IE schnell genug.

Gruß, LX

--
RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine wunderbar. (...)