Нет вывода alert. В чем проблема?

Вот мой код:

while (true) {
let x = +prompt("Введите число:", '');
  if (!x) break;
  else if (x <= 100)
      alert("Неправильно! Введите число более 100:");
else if (x > 100) {
            break;
            alert("Вы правы!");}
}

Проблема в сочетании с директивой break?

Также вопрос такой: Почему при изменении места строки, которая объявляет переменную, код работает по-другому? Он больше не выводит бесконечное количество раз поле ввода, а бесконечно выводит "Неправильно!..." Что именно происходит в момент изменения порядка строк?

let x = +prompt("Введите число:", ''); //переставили наверх
while (true) {
      if (!x) break;
      else if (x <= 100)
          alert("Неправильно! Введите число более 100:");
    else if (x > 100) {
                break;
                alert("Вы правы!");}
    }


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

Автор решения: Igor
else if (x > 100) {
  alert("Вы правы!");
  break;
}
→ Ссылка
Автор решения: CbIPoK2513

Прочтите более внимательнее о break и continue

while (true) {
  let x = +prompt("Введите число:", '');
  if(!x) break;
  else if(x <= 100)
    alert("Неправильно! Введите число более 100:");
  else if(x > 100) {
    alert("Вы правы!");
    break;
  }
}

→ Ссылка