Подъём, когда при объявлении функции интерпретатор знает заранее обо всех локальных переменных этой функции, поэтому он поднимает
объявление всех переменных в начало функции без
инициализации.
function func() {
var i;
console.log(i); // undefined так как инициализация происходит ниже по коду
i = 1;
}
Отсюда вывод, что объявлять и инициализировать переменные функции нужно в начале функции.