Почему я могу получить доступ к переменной i
вне цикла, в котором она использовалась?
for (var i = 0; i <= 10; i++) {
console.log(i);
}
console.log(i, ' :вне цикла');
Вы можете получить доступ к переменной i
, потому что она объявлена через var
, а все переменные объявленные таким образом "всплывают" в начало родительской функции даже из вложенного блока.
var
:function f() {
if (true) {
var variable = 10;
}
return variable;
}
console.log(f());
var
на самом деле:function f() {
//Начало функции
var variable;
if (true) {
variable = 10;
}
return variable;
}
console.log(f());
Если вы хотите ограничить видимость данной переменной внутри цикла for
, то используйте let
вместо var
.
for (let i = 0; i <= 10; i++) {
console.log(i);
}
console.log(i, ' :вне цикла');
Область видимости переменной объявленной через let
ограничена блоком, в котором она объявлена.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет у меня есть таблица, куда элементы наполняются через forEach, и есть JQuery скрипт, ajax который отправляет запросы на сервакНо почему...
При перемещении курсора над элементом (подозреваю mousemove) требуется фиксировать два значения позиции курсораНапример по оси Х
Вообще, просто нужно сделать так, что бы камера и тело игрока поворачивались одинаково, ибо без этого нельзя сделать нормальную ходьбу, потому...