function each(collection, callback, scope) {
var key;
for (key in collection) if (collection.hasOwnProperty(key) {
callback.call(scope, collection[key], key, collection);
}
}
1. Chrome, Opera и Safari в HTMLCollection переберут и свойство length
обманываете
2. В IE7 у HTMLCollection вообще нет метода hasOwnProperty() - вылетит с ошибкой.
это как то связано с javascript?
4. Любое добавленное к массиву или коллекции свойство попадёт в перебор.
Пример - перебор jQuery-объекта.
так ты это и хотел, а если нет, то отвечу так:
есть универсальный итератор, я его выше показал, если нужен персональный итератор для определенного класса сущностей то сделай его.