Le hissage décrit une caractéristique de la façon dont Javascript est interprété par le navigateur, et n'est pas tellement une fonctionnalité à utiliser.
Lors de l'interprétation de Javascript, les navigateurs définissent les variables de niveau fonction au début de la fonction. Exemple:
function AddTwoAndTwo() {
var two = 2;
var result = two + two;
return result;
}
Dans le code publié, les deux variables "deux" et "résultat" existent au début de la portée de la fonction (évidemment, comme elles y sont déclarées.) Cependant, comme les navigateurs "hissent" les variables, ce qui suit devient du code Javascript légal .
function AddTwoAndTwo() {
result = 5;
alert(result);
var two = 2;
var result = two + two;
return result;
}
L'effet net ici est que vous avez des variables en cours d'utilisation avant de les déclarer, ce qui peut prêter à confusion, en particulier avec les variables de portée globale. Exemple:
var result = 6;
function AddTwoAndTwo() {
alert(result); // should this be 6 or undefined?
var two = 2;
var result = two + two;
return result;
}
Pour éviter toute confusion, déclarez vos variables en haut d'une fonction.
ChristopherBrown
la source