Javascript a-t-il une portée au niveau du bloc ?

WBOY
Libérer: 2022-03-10 11:41:49
original
1987 Les gens l'ont consulté

En JavaScript, il n'y a pas de concept de portée au niveau du bloc. Les variables définies dans une instruction au niveau du bloc sont en fait créées dans la fonction conteneur plutôt que dans l'instruction. Vous pouvez placer la déclaration de variable en haut du corps de la fonction au lieu de placer la déclaration à proximité de l'endroit où la variable est utilisée.

Javascript a-t-il une portée au niveau du bloc ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, JavaScript version 1.8.5, ordinateur Dell G3.

Javascript a-t-il une portée au niveau du bloc ?

Javascript n'a pas le concept de portée au niveau du bloc. Cela signifie que les variables définies dans une instruction au niveau du bloc sont en réalité créées dans la fonction conteneur plutôt que dans l'instruction.

Segment de code 1 :

var scope="global";  
function f(){   
    console.log(scope);  
    var  scope="local"  
    console.log(scope);  
}  
f();
Copier après la connexion

 Quel sera le résultat ?

 Réponse : local non défini

 Segment de code 2 :

var scope="global";  
function f(){  
    var scope;  
    console.log(scope);  
    scope="local"  
    console.log(scope);  
}  
f();
Copier après la connexion

 Quel sera le résultat ?

 Réponse : local non défini

 Segment de code 3 :

var scope="global";  
function f(){  
    console.log(scope);  
}  
f();
Copier après la connexion

 Quel sera le résultat ?

 Réponse : global

 À travers les trois exemples ci-dessus, ce qui suit explique la phrase "JavaScript n'a pas de portée au niveau du bloc, mais a une portée de fonction".

 En JavaScript, en raison des caractéristiques de la portée de la fonction, le segment de code 1 et le segment de code 2 sont équivalents. Les variables locales sont définies dans l'ensemble du corps de la fonction

En d'autres termes, le segment de code 1 est dans le corps de la fonction. La portée de la variable couvre la variable globale du même nom, et ce n'est que lorsque le programme exécute l'instruction var que la portée de la variable locale sera véritablement attribuée. Par conséquent, le processus ci-dessus équivaut à : "avancer" la déclaration de variable dans la fonction vers le haut du corps de la fonction, tout en laissant l'initialisation de la variable à la position d'origine : c'est-à-dire le segment de code 2.

 Dans les langages de programmation avec une portée au niveau des blocs, c'est généralement une très bonne habitude de programmation de conserver les déclarations de variables et le code utilisant des variables aussi proches que possible les unes des autres dans une petite portée. Étant donné que JavaScript n'a pas de portée au niveau des blocs, certains programmeurs placent intentionnellement les déclarations de variables en haut des corps de fonction au lieu de placer les déclarations à proximité de l'endroit où les variables sont utilisées. Cette approche

fait que leur code source reflète très clairement l'étendue variable des connaissances.

Recommandations associées :

Tutoriel d'apprentissage Javascript

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