
В JavaScript у переменных есть несколько областей видимости. Что будет выведено на экран?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
В первой строке мы видим создание массива animals, в котором хранится 5 строк.
Длина этого массива используется в условии цикла for, поэтому цикл будет работать до тех пор, пока счетчик i не станет равен 5.
Внутри цикла создается еще один массив animals. С таким объявлением массива проблем нет, так как его область видимости распространяется только на блок кода внутри цикла for.
Важно помнить, что хотя мы и объявили новый массив animals с тремя элементами, animals.length в условии цикла до сих пор связана со внешним массивом, и не изменит свое значение.
А console.log внутри цикла будет работать только со внутренним массивом, в котором всего два элемента.
Как только мы выйдем за границы массива, то не получим ошибку как в C++ или Java. Вместо этого, на экран будет выведено сообщение undefined на трех последних итерациях цикла.
ОТВЕТ: В консоль будут напечатаны строки Whale, Dolphin , а после них undefined, undefined, undefined. Каждое значение будет выведено с новой строки.