Levage de variables JavaScript
En JavaScript, les déclarations de fonctions et de variables seront promues en haut de la fonction.
En JavaScript, les variables peuvent être déclarées après utilisation, c'est-à-dire que les variables peuvent être utilisées en premier puis déclarées.
Les deux instances suivantes obtiendront les mêmes résultats :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中显示 x var x; // 声明 x </script> </body> </html>
Instance en cours d'exécution»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x; // 声明 x x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Pour comprendre l'exemple ci-dessus, vous devez comprendre le « levage (levage variable) ».
Promotion de variable : les déclarations de fonction et les déclarations de variables sont toujours "promues" discrètement en haut du corps de la méthode par l'interpréteur.
L'initialisation JavaScript ne sera pas promue
JavaScript ne promouvra que les variables déclarées, pas celles initialisées.
Les deux instances suivantes ont des résultats différents :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x = 5; // 初始化 x var y = 7; // 初始化 y elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 显示 x 和 y </script> </body> </html>
Exécuter l'instance»
Cliquez le bouton "Exécuter l'instance" pour afficher l'instance en ligne
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x = 5; // 初始化 x elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = "x 为:" + x + ",y 为:" + y; // 显示 x 和 y var y = 7; // 初始化 y </script> </body> </html>
Exécuter Instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
Les sorties y de l'instance 2 non définies C'est parce que la déclaration de variable (. var y) est promue. Mais l'initialisation (y = 7) ne favorise pas, donc la variable y est une variable non définie.
Exemple 2 Codez comme ceci :
var x = 5; // 初始化 x var y; // 声明 y elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 显示 x 和 y y = 7; // 设置 y 为 7
Déclarez vos variables dans l'en-tête
Le levage de variables JavaScript est inconnu de la plupart des programmeurs.
Si les programmeurs ne comprennent pas bien la promotion des variables, les programmes qu'ils écrivent sont sujets à des problèmes.
Afin d'éviter ces problèmes, nous déclarons généralement ces variables avant le début de chaque portée. Il s'agit également d'une étape d'analyse JavaScript normale et facile à comprendre.
![]() | Le mode strict JavaScript ne permet pas l'utilisation de variables non déclarées.
"mode strict" |
---|