Хоть это и справедливо для многих других языков, но в JavaScript этого не происходит. Посмотрим на этот код:
for (var i = 0; i < 10; i++) {
/* ... */
}
console.log(i); // что здесь выведется?
Если вы думаете, что вызов console.log() повлечёт за собой вывод undefined или ошибку, то вы ошибаетесь: будет выведено «10». Почему? В большинстве других языков этот код привёл бы к появлению ошибки, потому что область видимости переменной i была бы ограничена блоком for. Однако в JavaScript эта переменная остаётся в области видимости даже после завершения цикла for, сохраняя своё последнее значение (такое поведение известно как «var hoisting»). Надо заметить, что поддержка области видимости на уровне блоков введена в JavaScript начиная с версии 1.7 с помощью дескриптора let.
#sbstudio #sbполезнаяинформация #pweb #сбстудия #теглайн #тэглайн #ratingruneta #рейтингрунета #какдобитьсяуспеха #cmsmagazine
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев