En ce qui concerne JavaScript, le premier concept plus important est les variables, et le mécanisme de travail des variables est la caractéristique de base de JavaScript. En fait, les variables sont un type d'identifiant. Cet article introduira en détail les variables et les identifiants
définition
L'identifiant est un nom utilisé pour nommer des variables, des fonctions, des propriétés et des paramètres, ou pour l'utiliser comme marqueur pour les positions de saut dans certaines instructions de boucle.
// variable var identifier = 123; // Properties (nouvel objet) .Identifier = 'test'; // Fonction and Paramètres function identifierName (identifier1) {}; // saut tag identifier: for (var i identifier; }}Dans la vie quotidienne, certaines choses sont fixes et certaines choses changent. Par exemple, le nom et l'anniversaire d'une personne sont fixes, mais son humeur et son âge changeront avec le temps. Les gens appellent des choses qui changent de variables
Lorsque le programme doit enregistrer la valeur pour une utilisation future, il est affecté à une variable. La variable est un espace réservé pour enregistrer les valeurs. Vous pouvez obtenir une référence à la valeur via le nom de la variable.
Règles de dénomination
Dans l'article "Structure du lexique", nous présentons que JavaScript est un langage sensible au cas. Comme tout autre langage de programmation, JavaScript conserve certains identifiants pour lui-même, et les mots réservés ne peuvent pas être utilisés comme identificateurs ordinaires.
[Remarque] Les mots réservés incluent des mots clés, de futurs mots réservés, des littéraux vides et des littéraux booléens
Réservedword :: mot-clé futirismereservedword nulllétoral booleanliteral
Le nom de l'identifiant JavaScript est autorisé à contenir des lettres, des chiffres, des signes en dollars et des soulignements (mais le premier caractère n'est pas autorisé à être un numéro)
// Démonstration d'erreur 6num // Le nombre de nombres% ne peut pas être utilisé au début // Les symboles spéciaux sauf (_ $) ne peuvent pas être utilisés au début, tels que (% + / etc.) sum + num // Les symboles spéciaux sauf (_ $) ne peuvent pas être utilisés au début, comme (% + / etc.)
JavaScript autorise les lettres et les nombres (y compris le chinois) dans l'ensemble des caractères Unicode dans l'identifiant. Par conséquent, les programmeurs peuvent également utiliser des symboles de langage non anglais ou mathématiques pour écrire des identifiants
var test text = 'test';
[Remarque] Pour la portabilité et la facilité d'écriture, nous n'utilisons généralement pas de caractères ASCII ou Unicode étendus
Habituellement, le format de chameau est le format préféré pour la dénomination de l'identifiant, la première lettre est minuscule et la première lettre de chaque mot restant est majuscule.
var mymoodtoday = 'happy';
Pour différents types de données, JavaScript a des règles de dénomination conventionnelles d'identifiant
Type Préfixe Exemple Array (Array) a Aitems Boolean (boolean) b Biscomplete Floating Point Number (float) Fonction fprice (fonction) Fn FnHandler Integer (Integer) IIItemCount Object (Object) O ODIV1 Expression régulière (regexp) Reémailcheck String (String) s Susername Varis
Déclaration variable
déclaration
Dans JavaScript, vous devez déclarer (déclarer) avant d'utiliser une variable. La variable est déclarée en utilisant le mot-clé var (l'abréviation de la variable).
var i; var sum;
Vous pouvez également déclarer plusieurs variables via un mot-clé var
var i, sum;
Affectation
Le fonctionnement du stockage des valeurs en variables est appelé affectation. Une fois qu'une variable a été attribuée, nous disons que la variable contient cette valeur
Le processus d'attribution d'une variable pour la première fois est appelé initialisation
Nous pouvons écrire l'affectation initiale des variables avec la déclaration variable
var message = 'hello'; var i = 0, j = 0, k = 0;
Si la variable n'est pas spécifiée dans l'instruction de déclaration VAR, même si la variable est déclarée, sa valeur initiale n'est pas définie avant d'enregistrer une valeur
Les déclarations de VAR peuvent également être utilisées pour des boucles et des boucles à forte, qui peuvent déclarer plus de manière concise les variables de boucle utilisées dans la syntaxe de boucle
pour (var i = 0; i <10; i ++) console.log (i);
Les variables peuvent se voir attribuer des valeurs lorsqu'elles sont déclarées, mais il ne peut pas y avoir d'autres opérations, telles que + =, - =, etc.
var a = 2; // est correct var a + = 2; // est mauvais var a = 2 ++; // est faux, ++ ne peut être utilisé que pour les variables, pas les constantes
Répétez la déclaration
Il est légal et inoffensif de déclarer à plusieurs reprises les variables à l'aide de déclarations VAR. Si la déclaration est répétée avec des opérations d'affectation, il équivaut à réaffecter la valeur.
Déclaration manquante
Si vous essayez de lire la valeur d'une variable qui n'est pas déclarée, JavaScript rapportera une erreur
JavaScript permet des déclarations omises, c'est-à-dire en attribuant directement des valeurs aux variables sans déclarations antérieures, et l'opération d'attribution déclarera automatiquement la variable.
Cependant, en mode strict ecmascript5, l'attribution d'une valeur à une variable non déclarée entraînera une erreur
<Script> 'Utiliser Strict'; a = 5; console.log (a); </cript>
Caractéristiques variables
Les variables JavaScript sont des types faibles (également appelés types lâches), et les types dits lâches sont utilisés pour enregistrer tout type de données.
Classification du langage de programmation: langage dynamique dynamique et langage typique statique. Le langage dynamique dynamique fait référence à une langue qui ne fait que la vérification des types de données pendant le fonctionnement. C'est-à-dire que lorsque la programmation dans un langage dynamique tapé, vous n'avez pas besoin de spécifier un type de données pour une variable. La langue enregistrera le type de données en interne lors de la première fois qu'il attribue une valeur à une variable. JavaScript est le représentant des langues dynamiquement typées.
Dans JavaScript, vous pouvez modifier le type de valeur tout en modifiant la valeur.
var message = 'hi'; message = 100; // valide, mais pas recommandé
Il y a deux points pour résumer les caractéristiques des types de variables lâches: la première est que vous n'avez pas besoin de spécifier les types de données pour les variables lors de la déclaration; L'autre est que vous pouvez modifier les types de données lors de l'attribution des valeurs.
Portée variable
La portée d'une variable, également connue sous le nom de contexte d'exécution, est le domaine qui définit cette variable dans le code source du programme.
Les portées sont divisées en portée globale et portée de la fonction (également appelée portée locale)
La portée mondiale est l'environnement d'exécution le plus périphérique. Dans un navigateur Web, l'environnement d'exécution globale est considéré comme un objet de fenêtre. Toutes les variables et fonctions globales sont créées en tant que propriétés et méthodes des objets de fenêtre. Les variables globales ont des lunettes globales et sont définies n'importe où dans le code JavaScript. La portée globale ne sera pas détruite avant la sortie de l'application, par exemple, clôture une page Web ou un navigateur.
Les variables déclarées dans une fonction ne sont définies que dans le corps de fonction. Ce sont des variables locales et leur portée est locale. Les paramètres de fonction sont également des variables locales, et elles ne sont définies que dans le corps de fonction. Une fois que tout le code de la portée de la fonction est exécuté, la portée est détruite et toutes les variables et définitions de fonction stockées dedans sont également détruites.
fonction test () {var message = 'hi';} test (); alert (message); // erreurSi l'opérateur VAR est omis, une variable globale est créée
fonction test () {message = 'hi';} test (); alert (message); // 'hi'Bien que l'omission de l'opérateur VAR puisse définir des variables globales, elle n'est pas recommandée. Les variables globales définies dans la portée locale sont difficiles à maintenir, et si l'opérateur VAR est intentionnellement ignoré, il entraînera également une confusion inutile car la variable correspondante ne sera pas définie immédiatement. L'attribution de valeurs aux variables non déclarées en mode strict entraînera une erreur de référence
Dans l'organisme de fonction, la priorité des variables locales est supérieure à celle des variables globales du même nom. Si une variable locale déclarée dans la fonction ou la variable et les variables globales du paramètre de fonction sont dupliquées, la variable globale est couverte par la variable locale.
var scope = 'global'; fonction chèquescope () {var scope = 'local'; return portée;}; chèquescope (); // 'local'Promotion de déclaration (histin)
Portée au niveau du bloc
La portée au niveau du bloc signifie que chaque morceau de code dans les accolades bouclées a sa propre portée, tandis que JavaScript n'a pas de portée au niveau du bloc. JavaScript a uniquement la portée de la fonction: les variables sont définies dans le corps de fonction qui les déclare et tout corps de fonction imbriqué dans ce corps de fonction.
Cela signifie que les variables sont même disponibles avant qu'elles ne soient déclarées. Cette caractéristique de JavaScript est appelée de manière informelle. Toutes les variables déclarées dans les fonctions JavaScript (aucune affectation impliquée) sont avancées vers le haut du corps de la fonction.
[Remarque] En fait, en plus de la promotion variable, les fonctions sont également promues et il y aura des introductions détaillées à la section Fonction
var scope = 'global'; function f () {console.log (scope); // non défini var scope = 'local'; console.log (scope); // 'local'} // Une fois la déclaration de variable promue, elle équivaut au code suivant var scope = 'global'; fonction f () {var scope; Console.log (Scope); // UNDEFINED SCOPE = 'LOCAL'; console.log (scope); // 'local'}Il n'y a pas de portée au niveau du bloc en JavaScript, donc certains programmeurs ont délibérément mis des déclarations variables sur le dessus du corps de fonction. Ce code source reflète clairement la portée de la variable réelle.
Variables d'attribut
Lors de la déclaration d'une variable globale JavaScript, elle définit en fait une propriété de la fenêtre d'objet global
Lorsqu'une variable est déclarée en utilisant VAR, la variable créée n'est pas configurable, ce qui signifie que la variable ne peut pas être supprimée via l'opérateur de suppression
var truevar = 1; console.log (truevar, window.truevar); // 1 1delete truevar; // falseconsole.log (truevar, window.truevar); // 1 1
Si vous n'utilisez pas de mode strict et attribuez une valeur à une variable non déclarée, JavaScript créera automatiquement une variable globale. Les variables créées de cette manière sont des propriétés configurables normales de l'objet global et peuvent les supprimer
window.fakevar1 = 10; console.log (Fakevar1, fenêtre.fakevar1); // 10 10 this.fakevar2 = 20; console.log (Fakevar2, Window.fakevar2); // 20 20fakevar = 30; console.log (Fakevar, Window.fakevar); // 30 30Delete window.fakevar1; // truedelete this.fakevar2; // truedelete fakevar; // trueconsole.log (Fakevar1, window.fakevar1); // rapporter la console d'erreur.log (Fakevar2, Window.fakevar2); // Signaler une erreur Console.log (Fakevar, Window.Fakevar); // signaler une erreur
Les variables globales JavaScript sont des propriétés d'objets globaux, qui sont obligatoires dans ECMAScript. Les variables locales sont traitées comme des attributs d'un objet lié aux appels de fonction. Ecmascript3 est appelé un objet d'appel et ECMascript5 est appelé enregistrement d'environnement déclaratif. JavaScript permet à l'utilisation de ce mot-clé de se référer aux objets globaux, mais il n'y a aucun moyen de se référer aux objets stockés dans des variables locales. Cette propriété unique du stockage d'objets variables locaux est une implémentation interne qui nous est invisible
La grammaire de base ci-dessus de JavaScript - une compréhension complète des variables et des identifiants est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.