Was ist schneller: Die Verwendung von switch oder der Aufruf als Funktion?
Meine Benchmark Skript hat dir Mathias ja schon gezeigt. Ist aber für solche Sachen eher Spielerei, ob eine Funktion theoretisch 1 Millionen Mal oder 1,2 Mill. pro Sekunde durchlaufen wird, dürfte bei den meisten Anwendungen kaum eine Rolle spielen, zumal eher die Darstellung bremst. Also wenn du Objekte verschiebst, deren Inhalt oder das Aussehen änderst.
Einfaches Beispiel: entweder:
var y = "hallo_welt"
switch(y){
case "hallo_welt": tue dieses und jenes
}oder:
windowy
function hallo_welt(){
tue dieses und jenes
}
Das Prinzip ist elegant und du kannst damit schönen Code produzieren. Ich kenne und benutze sowas häufig in Perl (mit Hash's), aber ich habe scho festgestellt, dass die JS Umsetzung hier nicht unbedingt schneller ist, als der direkte Weg über switch oder if.
Wenn du so eine Funktion häufiger benutzt, könnte es sich sogar anbieten das mit eval (ist evil) umzusetzen, da du dem Interpreter damit die suche nach dem String (y) sparen kannst.
Aber wie gesagt, oft bremst die Darstellung und JS ist nicht unbedingt auf Geschwindigkeitsoptmierung ausgelegt. Aber vielleicht bieten die Artikel ja noch Erkenntnise (ich benutz das mal als Bookmark, ich hab die Artikel noch nicht gelesen ;-) )
http://home.earthlink.net/~kendrasg/info/js_opt/(etwas arg alt)
http://www.mellowmorning.com/2008/05/18/javascript-optimization-high-performance-js-apps/
und noch mehr
http://www.google.de/search?hl=de&ei=alQdSpL-JJCZ_Qbvyd2FDQ&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=javascript+optimization&spell=1
Gibt es Geschwindigkeitseinbußen, wenn ich Variablen in einem Array speichere?
Arrays sind i.d.R. recht schnell, kommt aber im Einzelfall drauf an was du vor hast.
Struppi.