Bien que javaScript présente de nombreuses similitudes avec les langages Java et C, il existe également des différences.
Les variables JavaScript n'ont pas de portée de bloc. Les seules qui ont leur propre portée sont les fonctions.
<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 var scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
Résultat d'exécution :
non défini
Variable locale
<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
dans test() Résultats en cours d'exécution :
Ensemble complet de variables
Variables locales.
Il y a principalement une différence entre définir des variables avec var et sans var :
① Si vous utilisez la variable var, le programme définira de force une nouvelle variable
②Si une variable n'est pas définie à l'aide de var, le système recherchera d'abord si la variable existe dans le contexte actuel. Seulement si la variable n'existe pas, le système redéfinira une nouvelle variable
<. 🎜>La raison de ce qui précède Le passage de non défini à "variable globale" est dû au fait que le code qui définit la variable locale ne définit pas une nouvelle variable, mais crée directement une portée de variable globale et attribue la valeur.Par conséquent, test() ne couvre pas la portée des variables globales, il génère donc également des "variables globales"
Bien que JavaScript présente de nombreuses similitudes avec les langages Java et C, il existe également des différences. Les variables JavaScript n'ont pas de portée de bloc, les seules qui ont leur propre portée sont les fonctions. (1) Regardez l'exemple suivant<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 var scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
Résultat d'exécution : non défini
Variable locale
<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
dans test() Résultat de l'exécution : Ensemble complet de variables
Variables locales<.>
(3) Analyse des raisons
① Si vous utilisez la variable var, le programme définira de force une nouvelle variable
②Si une variable n'est pas définie à l'aide de var, le système recherchera d'abord si la variable existe dans le contexte actuel. Seulement si la variable n'existe pas, le système redéfinira une nouvelle variable
La raison de ce qui précède Le passage de non défini à "variable globale" est dû au fait que le code qui définit la variable locale ne définit pas une nouvelle variable, mais crée directement une portée de variable globale et attribue la valeur.Par conséquent, test() ne couvre pas la portée de la variable globale, donc la "variable globale" est affichée
Articles associés :
Analyse de la différence entre var et sans var lors de la définition de variables dans les compétences javascript_javascript
Différence entre var et sans var lorsque javascript définit des variables_Connaissances de base
Tutoriel vidéo de renforcement de base en 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!