Работа цикла для обхода объекта

Рейтинг: 1Ответов: 1Опубликовано: 18.04.2015

Всем привет. Вопрос вот в чем. На сколько я понимаю, для корректной работы циклу, например while или for необходимы счетчики, чтобы определить где закончить обход. Есть пример кода, связанный с односвязанным списком. Вот пример кода:

var list = {
  value: 1,
  next: {
    value: 2,
    next: {
      value: 3,
      next: {
        value: 4,
        next: null
      }
    }
  }
};

function printList(list) {
  var tmp = list;

  while (tmp) {
    alert( tmp.value );
    tmp = tmp.next;
  }

}

printList(list);

Каким образом цикл без использования счетчика знает, где закончить и как он вообще переходит к след.итерации?

p.s. заканчивает наверно на null, остальное непонятно.

Ответы

Ответов пока нет.