Moin!
Soweit alles klar, die grundsätzliche Funktion ist mir ja klar. Was mich irgendwie irritierte, war die Tatsache, daß ich am Anfang, ALLE übergebenen Parameter in cnt speichere, beim durchlaufen der Schleife aber immer nur ein Wert übergeben wird.
cnt = count.arguments;
Mit dieser Funktion wird das _Array_ der Funktionsargumente der Variablen cnt zugewiesen. Ist eigentlich nur, um in der Funktion Schreibarbeit zu sparen.
Du kannst mit count.arguments[3] auf das _vierte_ Argument der Funktion zugreifen (Zähler beginnt bei Null, und natürlich gehts nur, wenn es mindestens vier Argumente im Funktionsaufruf gibt), und logischerweise mit count.arguments.length die Anzahl der Argumente abfragen (um Zugriff auf Nichtexistentes zu verhindern).
Durch die Zuweisung oben ist das eben auch mit cnt[3] und cnt.length möglich.
Und die Schleife fragt nacheinander alle Funktionsargumente ab und macht mit einem einzelnen Argument dann das, was die Schleife vorsieht.
Diw Werte, die übergeben werden, können sehrt stark von dem Wert des Zählers abweichen. Es könnte durchaus der Fall eintreten, daß solche Werte [clean(1,3,5,31,41,42)]übergeben werden. Die Frage zielt eigentlich eher darauf ab, ob mit dem Wert des Zählers der übergebene Wert eingefügt wird. Also z.B.: i=4, dann wird der Wert 31 abgearbeitet. 4 bezieht sich dann auf die Reihenfolge der Werte, oder seh ich da was falsch?
Der Zähler zählt nur die Argumente durch, das Argument selbst wird dann zum Verstecken des Layers benutzt.
- Sven Rautenberg