Maison  >  Article  >  interface Web  >  Introduction détaillée au levage de variables javascript (exemple de code)

Introduction détaillée au levage de variables javascript (exemple de code)

不言
不言avant
2019-03-12 16:28:222554parcourir

Le contenu de cet article est une introduction détaillée (exemple de code) sur la promotion des variables JavaScript. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Introduction

"Promotion des variables" signifie que la déclaration des variables et des fonctions sera physiquement déplacée au début du code, mais ce n'est pas exact.
En fait, l'emplacement des déclarations de variables et de fonctions dans le code ne changera pas, mais sera placé en mémoire lors de la phase de compilation.

Méthodes de déclaration des variables

var, let, const
Les variables directement affectées sans les mots-clés ci-dessus seront montées dans l'environnement Windows

let a=9
const a=1
var a=6
c=5

déclaration Méthodes de fonction

Il existe deux façons de déclarer des fonctions en JavaScript : la déclaration de fonction et l'expression de fonction.

//函数声明
function say(){
    console.log('hello') 
}

//函数表达式
var say=function (){
    console.log('hello') 
}

Avantages du levage

JavaScript L'un des avantages de placer les déclarations de fonction en mémoire avant l'exécution d'un segment de code est que cela vous permet d'utiliser une fonction.

/*** 正确的方式:先声明函数,再调用函数 (最佳实践)*/
function catName(name) {
    console.log("我的猫名叫 " + name);
}
catName("Tigger");
/*以上代码的执行结果是: "我的猫名叫 Tigger"*/


/*** 不推荐的方式:先调用函数,再声明函数 */
catName("Chloe");
function catName(name) {
    console.log("我的猫名叫 " + name);
}
/*代码执行的结果是: "我的猫名叫 Chloe"*/

Règles de promotion

Les variables déclarées par var ne sont déclarées que lors de la promotion et ne reçoivent pas de valeurs. La valeur par défaut est indéfinie ; les variables directement affectées sans mots-clés ne sont pas promues (demo1)<.>

La promotion de la fonction sera promue avec le corps de la fonction et ne sera pas exécutée (deom2)

L'ordre de pré-analyse est de haut en bas ; >La priorité des fonctions est supérieure à celle des variables, la déclaration de fonction est avancée en haut de la portée actuelle (deom3)

Les variables ont le même nom et ne seront pas redéfinies lors de la promotion ; plus tard dans la phase d'exécution écrasera les affectations ci-dessus ; (demo4)

Si la fonction a le même nom, la dernière écrasera la précédente lors de la promotion (demo5)

La fonction ; et la variable ont le même nom, et si la fonction est promue, la définition ne sera pas répétée et la variable n'écrasera pas la fonction ; la valeur attribuée plus tard dans la phase d'exécution remplacera l'affectation ci-dessus (demo8)

La déclaration d'une fonction avec une expression de fonction sera promue selon les règles de déclaration des variables ; (deom6)

Lorsque la fonction est exécutée, la déclaration de variable et la déclaration de fonction à l'intérieur de la fonction effectuent également des améliorations selon les règles ci-dessus ; (deom7)

let et const ne s'améliorent pas (demo9, demo10)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer