Maison > interface Web > js tutoriel > Explication détaillée de la promotion des variables et de la promotion des fonctions dans js

Explication détaillée de la promotion des variables et de la promotion des fonctions dans js

小云云
Libérer: 2018-02-06 11:44:59
original
1087 Les gens l'ont consulté

Cet article vous propose un article sur la promotion de variables et la promotion de fonctions basées sur js (explication détaillée). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un œil. J'espère que cela pourra aider tout le monde.

1. Promotion des variables

Avant ES6, JavaScript n'avait pas de portée au niveau du bloc (une paire d'accolades {} est une portée au niveau du bloc), uniquement la portée globale et la portée de la fonction. Le levage de variable hisse une déclaration de variable au début de sa portée.

L'exemple du CV précédent est :


console.log(global); // undefined
var global = 'global';
console.log(global); // global

function fn () {
console.log(a); // undefined
var a = 'aaa';
console.log(a); // aaa
}
fn();
Copier après la connexion

La raison pour laquelle le résultat d'impression ci-dessus est dû à la promotion variable de js, en fait , ce qui précède Le code est exécuté comme suit :


var global; // 变量提升,全局作用域范围内,此时只是声明,并没有赋值
console.log(global); // undefined
global = 'global'; // 此时才赋值
console.log(global); // 打印出global

function fn () {
var a; // 变量提升,函数作用域范围内
console.log(a);
a = 'aaa';
console.log(a);
}
fn();
Copier après la connexion

2. Amélioration de la fonction

js Il existe deux manières de créer des fonctions dans : la déclaration de fonction et le littéral de fonction. Le levage de fonctions n'existe que pour les déclarations de fonctions ! Par exemple :


console.log(f1); // function f1() {}  
console.log(f2); // undefined 
function f1() {}
var f2 = function() {}
Copier après la connexion

La raison pour laquelle les résultats ci-dessus sont imprimés est que la fonction de promotion dans js entraîne l'exécution du code comme suit :


function f1() {} // 函数提升,整个代码块提升到文件的最开始<br>console.log(f1);  
console.log(f2);  
var f2 = function() {}
Copier après la connexion

Conclusion : C'est en gros ça. Si vous voulez être compétent, vous pouvez faire plus d'exercices, testez :


console.log(f1()); 
console.log(f2);  
function f1() {console.log(&#39;aa&#39;)}
var f2 = function() {}
Copier après la connexion
.


(function() {
console.log(a);
a = &#39;aaa&#39;;
var a = &#39;bbb&#39;;
console.log(a);
})();
Copier après la connexion

Recommandations associées :

Explication détaillée de la promotion des variables javascript

variable js Explication détaillée des exemples de levage et de déclaration de fonction avant l'analyse

Compréhension approfondie de la portée et du levage variable (levage) dans JS

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal