est inséré
seulement avant }, après un ou plusieurs sauts de ligne et à la fin de la saisie du programmeCela signifie que vous ne pouvez omettre que le point-virgule à la fin d'une ligne, d'un bloc de code et d'un programme.
C'est-à-dire que vous pouvez écrire le code suivant
Insérer
uniquement si les balises d'entrée suivantes ne peuvent pas être analyséesEn d’autres termes, l’insertion d’un point-virgule est un mécanisme de correction d’erreurs. Regardez le code et parlez
a = b
f()
//Analysé en deux déclarations indépendantes
a = bf();//Erreur d'analyse
Vous devez donc faire attention au début de l'instruction suivante pour déterminer si vous pouvez légalement omettre le point-virgule.
(, [, , -, et / Ces cinq caractères commencent la déclaration, il est alors préférable de ne pas omettre le point-virgule devant.
Donnez-moi un exemple
Donc pour les phrases commençant par ces cinq caractères (, [, , -, et / , il est préférable de ne pas omettre le point-virgule devant.
Si vous souhaitez omettre le point-virgule, les programmeurs expérimentés suivront cette instruction par une instruction de déclaration pour s'assurer que l'analyseur l'analyse correctement. Comme indiqué ci-dessous
L'omission des points-virgules entraîne des problèmes de connexion au script
//file2.js
(fonction () {
//......
})()
Lorsque les deux fichiers ci-dessus sont connectés, ils seront analysés comme suit
Donc, omettre le point-virgule nécessite non seulement de surveiller le jeton suivant dans le fichier actuel, mais également tout jeton qui peut apparaître après l'instruction une fois le script connecté.
Pour éviter les erreurs d'analyse de l'analyseur, vous pouvez préfixer chaque fichier avec un point-virgule supplémentaire pour protéger le script d'une concaténation imprudente. Si la première instruction du fichier s'ouvre avec les cinq caractères vulnérables mentionnés ci-dessus, vous devez ajouter un préfixe point-virgule supplémentaire.
La syntaxe JavaScript restreint la production
La syntaxe JavaScript restreint la production : aucun saut de ligne n'est autorisé entre deux caractères.
Exemple :
Règles d'insertion de point-virgule pour les opérations d'auto-incrémentation et d'auto-décrémentation
Le point-virgule ne sera pas automatiquement inséré comme séparateur en tête d'une instruction de boucle for vide
Le while du corps de la boucle vide doit également afficher un point-virgule, sinon cela provoquera également des erreurs d'analyse
Pour résumer
1. Les points-virgules se déduisent uniquement avant le signe }, en fin de ligne et à la fin d'un programme
2. Le point-virgule
n'est déduit que si la balise suivante ne peut pas être analysée
3. Le point-virgule
ne doit pas être omis avant les instructions commençant par (, [, , - et / caractères
4. Lorsque vous liez des scripts, insérez explicitement des points-virgules
entre les scripts
5. Ne coupez jamais une ligne avant les paramètres de retour, lancer, pause, continuer ou --
6. Un point-virgule ne peut pas être déduit comme tête d'une boucle for ou comme délimiteur d'une instruction vide