JS ругается на переменную

Я новичок в JS и очень хочу научиться писать на нем. Помогите решить очень банальную проблему. снизу мой код:

while (true){
  let number = prompt("Введите число. Оно должно быть больше или ровно 1")
  if(number < 1){
    alert("Введите правильно число!")
  }
  else{
    break;
  }
}
multiplicationTable(number);



function multiplicationTable(number){
  for(let i = 0; i < 9; i++){
    document.write(1+i, "*", number, "=",(1+i) * number, "<br \/>")
  }
}

multiplicationTable(number); <== Вот здесь он ругается, что нет такой переменной


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

Автор решения: Pavel Grishaev

У переменных, объявленных через ключевое слово let, область видимости блочная. То есть они работают только в пределах своих скобок {}.

Объявите переменную number выше цикла:

let number;

while (true){
  number = prompt("Введите число. Оно должно быть больше или ровно 1")
  if(number < 1){
    alert("Введите правильно число!")
  }
  else{
    break;
  }
}

multiplicationTable(number);

function multiplicationTable(number){
  for(let i = 0; i < 9; i++){
    document.write(1+i, "*", number, "=",(1+i) * number, "<br \/>")
  }
}
→ Ссылка