Maison  >  Article  >  interface Web  >  La différence entre le fait que JavaScript utilise var pour définir des variables, avec des exemples

La différence entre le fait que JavaScript utilise var pour définir des variables, avec des exemples

php是最好的语言
php是最好的语言original
2018-07-28 13:51:571582parcourir

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

(2) Supprimez la var

<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.

(3) Analyse des raisons

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

(2) Supprimez var

<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

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 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

Vidéos associées :

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!

Déclaration:
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