Phénomène:
1. Dans JavaScript, la déclaration de variables et de fonctions sera promue à l'exécution supérieure.
2. L'amélioration de la fonction est supérieure à l'amélioration des variables.
3. Si une variable externe avec le même nom est déclarée à l'intérieur de la fonction avec VAR, la fonction ne regardera plus vers le haut.
4. Les fonctions anonymes ne seront pas promues.
5. Les fonctions dans différents blocs <cript> ne se affectent pas mutuellement.
exemple:
Promotion de déclaration de fonction supérieure à la déclaration variable
// Déclarer la variable A et la fonction AVAR A; fonction a () {} alert (typeof a); // La "fonction" est affichée, ce qui prouve préliminairement que la priorité de la fonction est supérieure à Var. // Déclarez d'abord la fonction, puis déclarez la variable, prouvant que l'exemple ci-dessus ne fonctionne pas écraser la fonction variable a () {} var a; alerte (type de a); // L'affichage est toujours "fonction", pas "non défini", c'est-à-dire que la priorité de la fonction est supérieure à Var. // Déclarer la variable et attribuer la fonction de valeur a () {} var a = 1; alert (typeof a); // numéro, ce n'est pas une fonction pour le moment. // Remarque: "var a = 1" équivaut à "var a; a = 1", c'est-à-dire à déclarer d'abord puis attribuer une valeur. "A = 1" équivaut à réaffecter A, qui est naturellement le nombre!La fonction utilise VAR pour définir la même variable que l'extérieur, et la fonction ne recherchera plus les variables externes vers le haut.
var valeur = 'hello'; fonction show () {alert (value); if (! value) {var value = 'function'; } alert (valeur);} show () // La fonction est appelée ici et apparaît "Undefined", "fonction" // l'exemple ci-dessus est équivalent à var valeur = 'bonjour'; fonction show () {var value; // Remarque cette alerte de ligne (valeur); if (! value) {value = 'function'; // Cette ligne supprime var} alert (valeur);} show () // 1. Si la valeur définie en interne dans le spectacle dans la colonne ci-dessus n'utilise pas VAR, une variable externe sera utilisée et "bonjour" apparaîtra, "bonjour". // 2. Si la valeur n'est pas définie à l'intérieur de la fonction, la valeur de valeur à l'extérieur peut également être obtenue.Les fonctions anonymes ne s'amélioreront pas vers le haut
getName () var getName = function () {alert ('closule')} fonction getName () {alert ('function')} getName () // Le code ci-dessus est équivalent à la fonction getName () {// la fonction est soulevée alert ('function')} getName () var GetName = function () {aller apparaît "fonction" et "closule"Les fonctions dans différents blocs <cript> ne se affectent pas mutuellement
<cript> getName () var getName = function () {alert ('closule')} <script> <cript> function getName () {alert ('function')} <script> // Erreur d'exécution de code: TypeError: getName n'est pas une fonction anonymeLa brève discussion ci-dessus sur l'amélioration des variables et des déclarations de fonctions en JavaScript 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.