La définition de la fonction de JavaScript a une fonctionnalité, qui analysera d'abord toute l'instruction corporelle de la fonction et "mise à niveau" toutes les variables déclarées en haut de la fonction:
'utiliser strict'; fonction foo () {var x = 'bonjour,' + y; alerte (x); var y = 'bob';} foo ();Bien qu'il soit en mode strict, l'instruction var x = 'bonjour,' + y; Ne signale pas d'erreur, car la variable y est déclarée ultérieurement. Mais Alert montre Hello, non définie, indiquant que la valeur de la variable y n'est pas définie. Ceci est précisément parce que le moteur JavaScript améliore automatiquement la déclaration de la variable Y, mais n'augmente pas l'affectation de la variable Y.
Pour la fonction foo () ci-dessus, le code vu par le moteur JavaScript est équivalent à:
fonction foo () {var y; // Déclaration d'élévation variable y var x = 'bonjour,' + y; alerte (x); y = 'bob';}En raison de cette étrange "caractéristique" de JavaScript, lorsque nous définissons les variables à l'intérieur d'une fonction, veuillez respecter strictement la règle "pour déclarer toutes les variables d'abord dans une fonction". Le moyen le plus courant consiste à utiliser un VAR pour déclarer toutes les variables utilisées en interne dans la fonction:
fonction foo () {var x = 1, // x est initialisé à 1 y = x + 1, // y est initialisé à 2 z, i; // z et je suis indéfini // Autres déclarations: pour (i = 0; i <100; i ++) {...}}L'article ci-dessus sur l'amélioration de la compréhension approfondie des variables JS est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.