Подъем описывает функцию того, как Javascript интерпретируется браузером, и это не такая особенность, которую следует использовать.
При интерпретации Javascript браузеры отображают переменные уровня функции в начале функции. Пример:
function AddTwoAndTwo() {
var two = 2;
var result = two + two;
return result;
}
В опубликованном коде обе переменные «two» и «result» существуют в начале области действия функции (очевидно, так как они там объявлены). Однако, поскольку браузеры «поднимают» переменные, следующее становится допустимым кодом Javascript ,
function AddTwoAndTwo() {
result = 5;
alert(result);
var two = 2;
var result = two + two;
return result;
}
В итоге получается, что перед объявлением их используются переменные, что может привести к путанице, особенно с переменными глобальной области видимости. Пример:
var result = 6;
function AddTwoAndTwo() {
alert(result); // should this be 6 or undefined?
var two = 2;
var result = two + two;
return result;
}
Чтобы избежать путаницы, объявите свои переменные в верхней части функции.