JavaScript Подъема
Подъем — это поведение по умолчанию JavaScript при перемещении объявлений на вершину.
Объявления JavaScript подняты
В JavaScript переменная может быть объявлена после ее использования.
Иными словами; переменная может быть использована до ее объявления.
Пример 1 дает тот же результат, что и Пример 2:
Пример 1
x = 5; // Assign 5 to x
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;
// Display x in the element
var x; // Declare x
Пример 2
var x; // Declare x
x = 5; // Assign 5 to x
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;
// Display x in the element
Чтобы понять это, вы должны понимать термин "подъема".
Подъем — это поведение по умолчанию JavaScript, при котором все объявления переносятся в верхнюю часть текущей области (в верхнюю часть текущего скрипта или текущей функции).
Инициализация JavaScript не поднимается
JavaScript только поднимает объявления, а не инициализации.
Пример 1 не дает того же результата, что и Пример 2:
Пример 1
var x = 5; // Initialize x
var y = 7; // Initialize y
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y; // Display x and y
Пример 2
var x = 5; // Initialize x
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y; // Display x and y
var y = 7; // Initialize y
Имеет ли смысл, что y не определен в последнем примере?
Это происходит потому, что только объявление (var y), а не инициализация (= 7) поднимается на вершину.
Из-за подъема, y была объявлена до его использования, но поскольку инициализация не поднимается, значение y не определено.
Пример 2 аналогичен записи:
Пример
var x = 5; // Initialize x
var y; // Declare y
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y; // Display x and y
y = 7; // Assign 7 to y
Объявите ваши переменные в верхней части!
Подъем (для многих разработчиков) неизвестное или забывают поведение JavaScript.
Если разработчик не понимает подъема, программы могут содержать ошибки (ошибки).
Во избежание ошибок всегда объявляйте все переменные в начале каждой области.
Так как JavaScript интерпретирует код, это всегда хорошее правило.
JavaScript в строгом режиме не позволяет использовать переменные, если они не объявлены.
Изучите "использовать строго" в следующей главе.