Задать вопрос
@Samsa84

Почему появляется ошибка Uncaught Reference?

let arr = ["John", "Mike", "Bill"];  
for (let i = 0; i < arr.length; i++); 
console.log(arr[i]);

Почему появляется ошибка "Uncaught ReferenceError: i is not defined"? Переменная была объявлена.
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Смотрите внимательно, у вас точка с запятой после цикла. Следующая строка выполняется вне цикла, в котором i и объявлена.
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
Область переменной i заканчивается точкой-с-запятой после for() и снаружи — что до, что после — её нет.

Вот так другое дело:
let arr = ["John", "Mike", "Bill"];  
for (let i = 0; i < arr.length; i++)
  console.log(arr[i]);

Или, более общепринято, с фигурными скобками:
const arr = ["John", "Mike", "Bill"]; // const, т.к. arr не меняется, лучше
for (let i = 0; i < arr.length; i++) {
  // тут, внутри этих скобок, i определена
  console.log(arr[i]);
}


Почитайте про переменные и способы их объявления. Скажем, с устаревшим var i все бы работало и в вашем варианте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы