Nun wird ja aber eval() oft als "evil" gescholten. Welche Methode haltet ihr für die bessere, die performantere? Gibt es noch andere Möglichkeiten?
statt einem String und eval könntest du auch das ganze über eine Funktion und einem Array machen. z.b. so:
( function(){
var onLoad = [];
window.addOnLoad = function(func)
{
if(typeof func == 'function') onLoad.push( func);
}
window.onload = function()
{
for(var i = 0; i < onLoad.length; i++) onLoad[i]();
}
})();
und dann in den jeweiligen Dateien:
addOnLoad( generalInit );
...
addOnLoad( highlightMapInit);
...
addOnLoad( siteMapInit);
Über die Geschwindigkeit würd ich mir bei sowas keine Gedanken machen, auch wenn eval i.d.R. 10 Mal oder mehr langsamer ist, bedeutet das ein verlangsamung von nur wenigen Bruchtteilen einer Sekunde, also vernachlässigbar.
Struppi.
--
Javascript ist toll (Perl auch!)
Javascript ist toll (Perl auch!)