Пошаговая работа представленного кода JS

Всем привет! Помогите разобраться как работает представленный ниже код. Желательно по пунктам, шаг за шагом. Не могу уловить суть повторения цикла, как осуществляется переход к следующей итерации? Ведь если условие if (foundPos == -1) выполняется, то мы прерываем цикл директивой break и переходим за тело цикла, а там пустота. Как осуществляется итерация ?

let str = 'Ослик Иа-Иа посмотрел на виадук';

let target = 'Иа'; // цель поиска
let pos = 0;

while (true) {
  let foundPos = str.indexOf(target, pos);
  if (foundPos == -1) break;

  alert( `Найдено тут: ${foundPos}` );
  pos = foundPos + 1; // продолжаем со следующей позиции
}

Ответы (0 шт):