dave: PopUps automatisch schließen

Beitrag lesen

Hi,

ich habe hier grad mitgelesen und ich hätte das etwas anders gemacht.

for(var i=0; i<open_windows.length; i++) {
    var w = open_windows[i];
    if(!w.closed) w.close();
  }

Als erstes verstehe ich nicht wozu das if(!w.closed) gut sein soll?

Anstelle dieses Codes hätte ich folgendes geschrieben:

while (open_windows[0]) {  
  open_windows.shift().close();  
}

Nun macht das natürlich ein bisschen was anderes, es löscht nämlich die Elemente aus dem Array. Das sollte in diesem Anwendungsfall aber egal sein (?) deshalb ignoriere ich das.

Nachdem ich den Code von dir etwas optimiert hatte:

for(var i=open_windows.length-1; i>=0; i--) {  
  open_windows[i].close();  
}

Wollte ich wissen was schneller ist (mit pop() anstelle von shift(), um in beiden fällen die gleiche Reihenfolge zu haben).

Warum ist die Variante mit pop() um sooo viel schneller?
Oder ist in meinem Test ein Fehler?

~dave