Что вызывает ошибку "Uncaught Reference"?

Почему возникает ошибка "Uncaught ReferenceError: i is not defined" в следующем коде: 

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

Хотя переменная `i` была объявлена?
  • 20 декабря 2024 г. 8:53
Ответы на вопрос 2
Ошибка "Uncaught ReferenceError: i is not defined" возникает в вашем коде из-за неправильно расположенной точки с запятой `;` в строке с циклом `for`.

Вот ваш код:

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

Обратите внимание, что после конструкции `for` стоит точка с запятой. Это означает, что цикл `for` является пустым и не выполняет никаких действий. В результате, после окончания цикла переменная `i` не будет доступна за пределами цикла, так как она объявлена с помощью `let`, которая имеет блочную область видимости.

Чтобы исправить ошибку, уберите точку с запятой после цикла `for`, и ваш код должен выглядеть так:

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

Теперь код будет работать правильно и выведет элементы массива на консоль.
Смотрите внимательно, у вас точка с запятой после цикла. Следующая строка выполняется вне цикла, в котором i и объявлена.
Похожие вопросы