molily: Geschwindigkeit von Javascript-Befehlen?

Beitrag lesen

function erzeuge(i1,i2,i3,i4,i5){
var a=new Array(i1,i2,i3,i4,i5)
for(var i=0;i<a.length;i++){
if(!a[i]){a[i]="&nbsp;"}x.writleln('<p>'+a[i]+'</p>')
}}

function inhalt(){
erzeuge('inhalt1','inhalt2','inhalt3','inhalt4','inhalt5')

Man könnte der Funktion "erzeuge" natürlich gleich ein Array übergeben,

Ja.

aber in diesem Fall müsste ich a=new Array in jeder Zeile ergänzen.

Nein, wieso?

1. Anscheinend kennst du die arguments-Liste nicht, mit der du auf die Parameter einer Funktion zugreifen kannst.

function funktionMitBeliebigerParameterzahl () {
   for (var i = 0, length = arguments.lenth; i < length; i++) {
      alert(arguments[i]);
   }
}

funktionMitBeliebigerParameterzahl("eins", "zwei");
funktionMitBeliebigerParameterzahl("eins", "zwei", "drei", "vier");

2. Anscheinend kennst du den Array-Literal nicht.

['inhalt1', 'inhalt2', 'inhalt3', 'inhalt4', 'inhalt5']

ist ein Ausdruck, der einen Array mit eben jenen Elementen erzeugt.

erzeuge(['inhalt1', 'inhalt2', 'inhalt3', 'inhalt4', 'inhalt5']);

übergibt den so erzeugten Array dann an eine Funktion.

Wieder mal der alte Spagat zwischen Dateigröße und Geschwindigkeit.

Dateigröße ist vernachlässigbar. JavaScript-Code lässt sich wunderbar in der Größe optimieren (z.B. durch die genannten Array-Literal) und schließlich komprimieren.

Mathias