KD-one: Verständnisfrage zu Funktion...

Beitrag lesen

Also, vorab, die Funktion, um die es geht, klappt bestens, es geht mir nur darum, die Funktionsweise des Scripts zweifelsfrei zu begreifen.

Hier die Funktion:

function clean()
{
 var i,cnt=clean.arguments;
 for(i=0;i<cnt.length;i++)
 {
   eval("hide_it('divMenu"+cnt[i]+"');");
 }
}

Aufruf geschieht so:

<a href="clean(beliebige Anzahl von Parametern);"...

Nun hab ich es für mich mal auseinanderklamüsert und bin zu folgenden Schlüssen gekommen:

function clean ()
funktions-header mit unbestimmter parameter-anzahl

var i ist klar, hier wird die Variable i nur als solche definiert.

cnt=clean.arguments.
Hier werden die übergebenen Parameter in der Variablen "cnt" gespeichert, richtig?

for( i=0;
Hier wird "i" initialisisert und auf 0 gesetzt, richtig?
i<cnt.length;
Hier wird abgefragt, ob "i" kleiner ist, als die Anzahl der übergebenen Parameter, ok?
i++ )
Wenn die Abfrage true ergibt, wird der Zähler jeweils um eins erhöht, solange i<cnt.length ist, richtig?

jedesmal, wenn die Abfrage true ist, wird der bearbeitete Parameter an diese Funktion eval( "hide_it('divMenu"+cnt[i]+"');" ); übergeben, wobei mir nun etwas nicht klar ist:
in cnt sind ALLE Parameter gespeichert, wird bei +cnt[i]+ aufgrund des beigefügten Zählers immer nur der jeweils bearbeitete Parameter übergeben?

Wenn dann i==cnt.lenght ist, stoppt der Zähler und das Script wird beendet, richtig?

Fragen eines unbedarften Anfängers....

Hintergrund:
Das Script soll prüfen, daß bei einem geöffneten Layer, aufgrund des Timeouts noch andere Layer auf dieser Ebene geöffnet sind(was bei schnellem Überfahren der Menüpunkte sehr leicht passieren kann) und diese gegebenenfalls schließen. Dazu wird bei dem jeweiligen Menüpunkt die Funktion clean(1,3,4,5); z.B. so aufgerufen, bevor der Aufruf des Layers erfolgt.

Gruß

Kurt