Dans certains langages de programmation comme C, chaque morceau de code entre accolades a sa propre portée, et les variables ne sont pas visibles en dehors du segment de code où elles sont déclarées. Nous appelons cette portée au niveau du bloc (portée du bloc). ), et il n'y a pas de portée au niveau du bloc en JavaScript. Au lieu de cela, JavaScript utilise la portée de la fonction : une variable est définie dans le corps de la fonction dans laquelle elle est déclarée, ainsi que dans le corps de toute fonction dans laquelle elle est imbriquée. Dans le code suivant, i, j et k définis à des positions différentes sont tous définis dans la même portée
fonction texte(o)
{
var je=0;
alert(typeof o);
Si(typeof o == "string")
{
var j=0;
pour(var k=0;k<10;k )
alert(k);//Sortie 0-9
alert(k);//sortie 10
}
alert(j);//sortie 0
}
La portée de la fonction JavaScript signifie que toutes les variables déclarées à l'intérieur de la fonction sont toujours visibles dans le corps de la fonction. Fait intéressant, cela signifie que la variable est déjà disponible avant même d’être déclarée. Cette fonctionnalité de JavaScript est appelée officieusement levage, c'est-à-dire que toutes les variables déclarées dans le corps de la fonction JavaScript (n'impliquant pas d'affectation) sont « avancées » vers le haut du corps de la fonction. Regardez le code suivant
{
alerte (global); // non défini
var global="bonjour QDao";
alert(global);//bonjour QDao
}
En raison des caractéristiques de la portée de la fonction, les variables locales sont toujours définies dans l'ensemble du corps de la fonction, ce qui signifie que les variables dans le corps de la fonction couvrent les variables globales portant le même nom. Cependant, les variables locales ne sont pas réellement affectées jusqu'à ce que le programme exécute l'instruction var. 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 à l'origine. poste :
Copier le code
var global
alerte (globale); // non défini
global="bonjour QDao";
alert(global);//bonjour QDao
}
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