Читаю учебник, наткнулся на пример. 
Вот код:
function tail(o) {   
    for(; o.next; o = o.next) 
        return o;                           
}
Вот описание:
В данном примере цикл for используется для обхода связанного списка структур данных и получения последнего объекта в списке (например, первого объекта, который не имеет свойства next).
Никак не могу понять, как работает данный код 
