Если не пользоваться разнообразными фреймворками типа jquery, возникает потребность перебрать массив без написания for, указания length и прочей ерунды, обычно не нужной.

Пример:


Ast.menu(something.childNodes, function(o){
    o.className = 'example';
    // ... какой-то другой код с o.
})
        

Сама функция:


var Ast = {
    menu: function(oc, fFunction)
    {
        for(var i = 0; i < oc.length; i++)
        {
            fFunction(oc[i]);
        }
    }
}
        

Можно было приписать menu к любым Array, но childNodes - не массив, а именно для этого, как правило и нужен menu.


Array.prototype.menu = function(fAction){
    for (var i = 0; i < this.length; i++)
    {
        fAction(this[i]);
    }
}