Hallo Kai
Ein Grund, weshalb sämtliche Foren und Boards niemals so bedienfreundlich sein werden wie Usenet: Dort kann ich im Client bestimmte Beiträge wieder auf ungelesen setzen, oder auf halten, solange ich will und vieles mehr.
Usenet kenne ich nicht.
Hier hingegen vergesse ich einiges, weil man die "gelesen" Markierung nicht wieder rückgängig machen kann :(
Eine Sache der Organisation.
Ungelesene Antworten auf meine Postings finde ich immer sofort. Wenn ich sie dann gelesen habe und nicht gleich antworten kann oder will, lasse ich den Tab erstmal offen. Wenn ich befürchten muss, diese eventuell zu übersehen, setze ich ein Bookmark (was nach der Beantwortung natürlich wieder gelöscht wird).
Eine Möglichkeit, die „gelesen Markierung” bei Bedarf wieder zu entfernen, könnte dies natürlich sehr vereinfachen.
Die Schleife könnte ganz einfach so aussehen:
for (var i = 1; i < blocks_an_aus.arguments.length; i++)
.
Es ist zwar im konkreten Fall eher theoretisch, da hier der Performance-Unterschied zu vernachlässigen ist, …
Nur hier?
Hier werden die beiden Variablen i und l initialisiert und l wird der Wert von array.length zugewiesen. Im Durchlauf wird nur noch der Wert von l verwendet und mit i verglichen. Dies ist vielleicht interessant zu wissen, wenn man mit Schleifen arbeiten will, die mehrere tausend Durchläufe benötigen.
Wie zeitaufwendig ist die Ermittlung von array.length überhaupt?
Ist das wirklich erheblich?
Ich habe mal einen klitzekleinen Test gemacht (Array mit 100000 Elementen).
for (var i = 0, l = Liste.length; i < l; i++)
ist auf meinem Rechner (Athlon XP 2400+ 2000MHz) bei mehreren Aufrufen -1 bis 32ms (IE6), 0 bis 32ms (alter Gecko), -2 bis 4ms (FF3) schneller als for (var i = 0; i < Liste.length; i++)
.
Dies funktioniert allerdings nur bei Schleifen, in denen die Anzahl der Array-Elemente nicht verändert wird.
Von Zeit zu Zeit gibt es hier Fragen, zu Problemen, die genau dadurch entstehen, dass nicht bedacht wurde, wie sich array.length beim Hinzufügen oder Entfernen von Elementen ändert.
Die von Insomnia verwendete Schreibweise war im konkreten Fall also ebenfalls korrekt, nur das arguments.length-1 muß zu arguments.length geändert werden, wie du korrekt erklärt hast.
Wahr doch wohl zu erwarten, dass Insomnia der Fehler in deinem Vorschlag nicht auffallen wird. ;)
Auf Wiederlesen
Detlef
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!