Maison > interface Web > js tutoriel > le corps du texte

Javascript lecture de base structure lexicale_connaissances de base

WBOY
Libérer: 2016-05-16 16:16:24
original
1158 Les gens l'ont consulté

La structure lexicale d'un langage de programmation est un ensemble de règles de base qui décrivent la façon dont vous écrivez le langage. Comme base de la syntaxe, il stipule à quoi ressemblent les noms de variables, comment écrire des commentaires et comment distinguer les instructions. Cette section utilise un espace très court pour présenter la structure lexicale de JavaScript.

1. Jeu de caractères

Les programmes Javascript sont écrits à l'aide du jeu de caractères Unicode, qui est un sur-ensemble d'ASCII et de Latin-1 et prend en charge presque toutes les langues de la région. ECMAscript3 nécessite que l'implémentation de javascript prenne en charge Unicode2,1 et les versions ultérieures, et ECMAscript5 nécessite la prise en charge d'Unicode3 et des versions ultérieures

i. Sensible à la casse

Javascript est un langage sensible à la casse, ce qui signifie que les mots-clés, les variables, les noms de fonctions et tous les caractères d'expression doivent être en majuscules et minuscules cohérentes. Par exemple, le mot-clé while doit être écrit sous la forme while, et non While ou WHILE.

Mais il convient de noter que le HTML n'est pas sensible à la casse (bien que le xhtml le soit). Puisqu'il est étroitement lié au javascript côté client, il est facile de se tromper. Par exemple, dans l'événement de traitement défini en HTML, l'attribut onclick peut être écrit sous la forme onClick, mais en JavaScript, onclick est écrit en minuscules.

ii Contrôles d'espace, de nouvelle ligne et de format

Javascript ignorera les espaces entre les jetons dans le programme. Dans la plupart des cas, JavaScript ignorera également les nouvelles lignes. Étant donné que les espaces et les sauts de ligne peuvent être utilisés librement dans le code, une indentation nette et cohérente peut être utilisée pour former un style de codage unifié et améliorer la lisibilité du code.

Javascript reconnaît le caractère espace (u0020) en plus de celui-ci. JavaScript représente également les caractères suivants qui marquent les espaces : tabulation horizontale (u0009), tabulation verticale (u000B), saut de page (u000C), espace insécable (u00A0), marque d'ordre des octets (uFEFF) et dans Tous les caractères de la catégorie Zs dans Unicode. JavaScript reconnaît les caractères suivants comme terminateurs : saut de ligne (u000A), retour chariot (u000D), séparateur de ligne (u2028) et séparateur de paragraphe (u2029). Le caractère de retour chariot et le caractère de saut de ligne sont analysés ensemble en un seul terminateur de ligne.

Les caractères de contrôle au format Unicode (classe Cf), tels que « marque d'écriture de droite à gauche » (u200F) et « marque d'écriture de gauche à droite » (u200E), contrôlent l'affichage visuel du texte. Ceci est crucial pour l'affichage correct de certains textes non anglais. Ces caractères peuvent être utilisés dans les commentaires JavaScript, les littéraux de chaîne et les littéraux d'expressions régulières, mais pas dans les identifiants (par exemple, les noms de variables, à l'exception de la largeur nulle). connecteur (u200D) et non-connecteur de largeur nulle (uFEFF), qui sont des caractères manuels qui peuvent apparaître dans les identifiants mais ne peuvent pas être utilisés comme identifiants. Comme mentionné ci-dessus, le caractère de contrôle du format de la marque d'ordre des octets (uFEFF) est traité comme un espace

iii.Séquence d'échappement Unicode

Dans certains matériels et logiciels informatiques, l'ensemble complet des caractères Unicode ne peut pas être affiché ou saisi. Afin de prendre en charge les programmeurs qui utilisent des technologies plus anciennes, JavaScript définit une séquence spéciale qui utilise 6 caractères ASCII pour représenter tout code interne Unicode 16 bits. Ces séquences d'échappement Unicode sont préfixées par u suivi de la souris hexadécimale (représentée par des chiffres et des lettres majuscules et minuscules A-F). Cette méthode d'écriture d'échappement Unicode peut être utilisée dans les littéraux de chaîne JavaScript, les expressions régulières et les identifiants (à l'exception des mots-clés). Par exemple, la méthode d'écriture d'échappement Unicode du caractère é est u00E9, et les deux chaînes Javascript suivantes sont exactement les mêmes.

"café" === "cafu00e9" => vrai
L'écriture d'échappement Unicode peut apparaître dans les commentaires, mais comme JavaScript ignore les commentaires, ils ne sont traités que comme des caractères ascii dans le contexte et ne seront pas suivis des caractères Unicode correspondants

iiii standardisation

Unicode permet à plusieurs méthodes d'encoder le même caractère. Par exemple, le caractère é peut utiliser le caractère Unicode u00E9, ou le caractère ascii ordinaire e suivi d'une marque d'intonation u0301. Dans l'éditeur de texte, les résultats affichés par ces deux codages sont exactement les mêmes, mais leurs représentations de codage binaire sont différentes. . La même chose est vraie dans les ordinateurs. La norme Unicode définit un format de code préféré pour les caractères d'index et fournit une méthode de traitement standardisée pour convertir le texte dans un format standard adapté à la comparaison. Elle ne normalisera pas d'autres représentations, chaînes ou expressions régulières.

2. Remarques

Javascript prend en charge deux méthodes de commentaire. Le texte après la fin de la ligne "//" sera ignoré par JavaScript en tant que commentaire.
De plus, le texte entre /* et */ sera également traité comme des commentaires. Ce type de commentaire peut être écrit sur plusieurs lignes, mais il ne peut pas y avoir de commentaires imbriqués.

//Commentaire sur une seule ligne
/*
*
*
*
*/
3. Mesure directe

Les soi-disant littéraux sont des valeurs de données utilisées directement dans le programme. Les quantités littérales sont répertoriées ci-dessous

.

Copier le code Le code est le suivant :

12 //Numéro
1.2 //Décimal
"Hllo World" //String text
              'salut' //Une autre chaîne
                 true //Valeur booléenne
                  false //Valeur booléenne
/ Javascript / gi // quantité directe d'expressions régulières (matching mode matching)
nul
Le chapitre 3 expliquera en détail les nombres et les chaînes littérales. Les littéraux d’expression régulière seront expliqués au chapitre 10. D'autres expressions peuvent être écrites sous forme de tableau ou de littéraux d'objet.

{x:1,y:2} //Objet

                          [1,2,3,4,5] //Tableau

4. Identifiants et mots réservés

Un identifiant est un nom. En JavaScript, les identifiants sont utilisés pour nommer des variables et des fonctions, ou pour marquer des emplacements de saut dans certaines instructions de boucle dans le code JavaScript. Les identifiants JavaScript doivent commencer par des lettres. Commencez par un trait de soulignement ou un signe dollar. Les caractères suivants peuvent être des lettres. nombre. Tiret de soulignement ou signe dollar (les chiffres ne sont pas autorisés à apparaître comme première lettre, JavaScript peut facilement distinguer les identifiants et les chiffres), les identifiants suivants sont légaux

Copier le code Le code est le suivant :
mon_nom_variable
              b13
               _dummy
               $str

Pour des raisons de portabilité et de facilité d'écriture, nous utilisons généralement uniquement des lettres et des chiffres ASCII pour écrire les identifiants. Il convient ensuite de noter que JavaScript permet aux lettres et aux chiffres du jeu de caractères Unicode d'apparaître dans les identifiants (techniquement, ECMAScript permet aux classes Mn, Mc et P du mécanisme de caractères Unicode d'apparaître après le premier caractère de l'identifiant), Par conséquent, les programmeurs peuvent utiliser des langues autres que l'anglais ou une notation mathématique pour écrire des identifiants

Copier le code Le code est le suivant :
var sá = vrai ;
          var π = 3,14 ;

Javascript supprime certains identifiants et les utilise comme mots-clés, vous ne pouvez donc plus utiliser ces mots-clés comme identifiants dans le programme.

Copier le code Le code est le suivant :
pause
cas
attraper
continuer
par défaut
supprimer
faire
d'autre
enfin
pour
fonction
si
dans
instance de
nouveau
revenir
changer
ceci
lancer
essayez
type de
var
nul
pendant
avec

mots réservés javascript

exportation d'énumération de const de classe
l'exportation étend le super importation
De plus, ces mots-clés sont légaux en javascript normal, mais sont des mots réservés en mode strict

implémente le package d'interface de rendement public privé
statique protégé
Dans le même mode strict, des restrictions strictes sont placées sur les identifiants suivants, mais les noms de variables, les noms de paramètres et les noms de fonctions ne peuvent pas être utilisés.

évaluation des arguments
L'implémentation spécifique de JavaScript peut définir des variables et des fonctions globales uniques. Chaque serveur d'environnement d'exécution (client) JavaScript spécifique, etc., possède sa propre liste d'attributs globaux, qu'il convient de garder à l'esprit. (objet fenêtre pour comprendre les variables globales et la liste de fonctions définies dans le client javascript)

5. Point-virgule facultatif

Comme de nombreux langages de programmation, JavaScript utilise des points-virgules (;) pour séparer les instructions. Ceci est très important pour améliorer la lisibilité et la netteté du code. Sans séparateur, la fin d’une instruction devient le début de l’instruction suivante, et vice versa.
En JavaScript, chaque instruction se trouve sur sa propre ligne et le point-virgule entre les instructions peut généralement être omis (le point-virgule avant l'accolade "}" à la fin du programme peut également être omis). De nombreux programmeurs JavaScript (y compris les exemples de code de ce livre) utilisent un point-virgule pour marquer clairement la fin d'une instruction, même lorsque le point-virgule n'est pas exactement nécessaire. Un autre style consiste à utiliser un point-virgule chaque fois que le point-virgule peut être omis. utilisez des points-virgules uniquement lorsque cela est nécessaire. Quel que soit votre style de programmation, vous devez prendre en compte plusieurs détails concernant JavaScript.
Dans le code suivant, le premier point-virgule peut être omis

a=3;
b=4;
Mais s’il est écrit dans le format suivant, le premier point-virgule ne peut être omis.

a=3;b=4;
Il convient de noter que JavaScript ne remplit pas du tout les points-virgules : JavaScript remplira les points-virgules uniquement lorsque le code ne peut pas être analysé normalement sans point-virgule. En d'autres termes (similaire aux deux endroits du code ci-dessous Exception), si. l'instruction actuelle et les caractères non-espaces suivants ne peuvent pas être analysés dans leur ensemble, JavaScript remplira le point-virgule à la fin de l'instruction actuelle, regardez le code suivant

var a
une
          =
3
console.log(a)
javascript l'analyse comme

var a;a=3;console.log(a); JavaScript ajoute un point-virgule à la première ligne. Sans le point-virgule, JavaScript ne peut pas analyser var a a dans le code. Le deuxième a peut être considéré comme une instruction « a; » seule, mais JavaScript ne remplit pas le point-virgule à la fin de la deuxième ligne. Parce qu'il peut être analysé en "a=3;" avec la troisième ligne de contenu.

Certaines règles de séparation des instructions entraîneront des situations inattendues. Cette rupture de code est divisée en deux lignes, qui ressemblent à deux instructions indépendantes.

var y = x f

             (a b).toString()
Les parenthèses dans la deuxième ligne et le f dans la première ligne forment un appel de fonction. JavaScript considérera ce code comme
.

var y = x f(a b).toString();

Ce n'est évidemment pas l'intention du code. Afin d'analyser le code ci-dessus en deux instructions différentes, le point-virgule d'affichage du comportement doit être rempli manuellement

De manière générale, si une instruction commence par ( [ / -, alors elle est très susceptible d'être analysée avec l'instruction précédente. Les instructions commençant par / - ne sont pas très courantes, mais les instructions commençant par ( [ sont très courantes . Au moins, c'est très courant dans certains styles d'encodage JavaScript. Certains programmeurs aiment ajouter de manière conservatrice un point-virgule devant l'instruction, de cette façon, même si l'instruction précédente est révisée et que le point-virgule est supprimé par erreur, l'instruction actuelle est toujours. la même chose. Il sera analysé correctement

Si l'instruction actuelle et la ligne d'instructions suivante ne peuvent pas être combinées et analysées. JavaScript complète ensuite le point-virgule après la première ligne, ce qui est la règle générale, sauf pour deux colonnes. La première exception concerne les instructions returnm, birak et continue, si ces trois mots-clés sont suivis d'une nouvelle ligne. JavaScript remplira les points-virgules aux sauts de ligne. Par exemple

Par exemple

retour

vrai ;
Et javascript est analysé en

retour;ture;

La signification originale du code est

renvoie vrai ;

C'est-à-dire qu'il ne peut pas y avoir de sauts de ligne entre les expressions suivantes de return, break et continue. Si des sauts de ligne sont ajoutés, le programme ne signalera une erreur que dans des circonstances extrêmement particulières. Et le débogage du programme est très gênant.

Le deuxième exemple implique l'opérateur --, ces symboles d'expression peuvent représenter des préfixes et des suffixes pour les expressions d'identification. S'il est utilisé comme expression de suffixe, alors il est utilisé comme expression de suffixe. Celui-ci et l'expression doivent être vus sur une seule ligne. Sinon, la fin de la ligne sera complétée par des points-virgules.

Copier le code Le code est le suivant :
x

ouais

Le code ci-dessus est analysé en

Copier le code Le code est le suivant :

x;
oui
É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