JSLint détecte les spécifications de syntaxe Javascript

Créé le: 2017-01-10 10:19:32, Mis à jour le: 2017-01-10 10:24:05
comments   0
hits   1852

JSLint détecte les spécifications de syntaxe Javascript

Dans la programmation JavaScript en avant-première, il y a un bon outil appelé JSLint, qui permet de vérifier la normalisation du code et de voir ce que signifient les avertissements d’erreur de JSLint:

  • Il manque un point-virgule.

  • Use the function form of <unk>use strict<unk>.: Utilise la forme de fonction définie par la norme.

  • Un espace inattendu après -.

  • Une valeur JSON est attendue.

  • Les espaces mixtes et les onglets sont répétés.

  • Un caractère dangereux. Un caractère dangereux.

  • Ligne trop longue. Les caractères de la ligne sont plus longs que la longueur maximale définie.

  • Il y a trop d’espaces vides à la fin de chaque ligne.

  • Pour les autres, c’est une bonne idée.

  • Unexpected {a} in {b} . : ne devrait pas apparaître dans {b} {a}.

  • Vous ne devriez pas être ici.

  • Les chaînes de caractères doivent utiliser des guillemets doubles.

  • Il n’y a pas besoin de changer le mot “escape” pour “escape”.

  • Control character in string: {a}. : Le caractère de Control apparaît dans la chaîne de caractères

  • “Avoid \Je ne veux pas de ce genre de choses.\”,

  • “Avoid \V. La peur: éviter la peur\v”,

  • “Avoid \X. Le soufre: évitez le soufre.\x-”,

  • Il y a une erreur de traduction dans le texte de la traduction.

  • Le nombre de personnes qui ont reçu un mauvais numéro est le nombre de personnes qui ont reçu un mauvais numéro, et c’est le nombre de personnes qui ont reçu un mauvais numéro.

  • Il n’y a pas d’espace après {a} .

  • Il n’y a plus de zéros supplémentaires avant le chiffre “a”.

  • L’exemple suivant montre qu’il est possible d’éviter l’utilisation de 0x-.

  • A trailing decimal point can be confused with a dot {a} . : Le point décimal suivant une virgule peut être confondu avec un point {a} .

  • Je ne pense pas qu’il y ait eu un commentaire ici, mais il y a eu un commentaire ici, et il y a eu un commentaire ici.

  • Je ne sais pas si je peux vous aider, mais j’ai besoin de votre aide.

  • Un caractère de contrôle inattendu dans une expression régulière. Un caractère de contrôle inattendu dans une expression régulière.

  • Un caractère échappé inattendu {a} dans une expression régulière.

  • Il y a une différence entre les deux, c’est qu’il y a une différence entre les deux, c’est que la différence entre les deux n’est pas significative.

  • Les espaces sont difficiles à compter. Utilisez {{a}}

  • Je suis une femme d’affaires, et je ne suis pas une femme de ménage.

  • La classe vide est une classe qui n’a pas de cours.

  • Je m’attendais à un nombre et au lieu de cela j’ai vu un nombre.

  • Le nombre d’éléments de la matrice n’a pas à être plus grand que le nombre d’éléments.

  • Il y a des gens qui pensent qu’il n’y a rien de mal à ce que les gens se sentent bien, mais il y a aussi des gens qui pensent qu’il n’y a rien de mal à ce qu’ils se sentent bien.

  • {a} a été utilisé avant qu’il ne soit défini.

  • {a} est déjà défini.

  • Un point suivant un nombre peut être confondu avec un point décimal.

  • Confusion de minusses de silicium: Le silicium est facile à confondre avec les expressions négatives - silicium, silicium, silicium.

  • Confusing plusses. Le plus facile à confondre avec le plus, c’est le plus.

  • Le plus grand est le plus petit, le plus petit est le plus petit.

  • Expected {a} to match {b} from line {c} and instead saw {d} . : Le a {a} et le b {b} doivent être remplacés par des {d} dans la ligne {c}

  • Une fin précoce inattendue d’un programme.

  • A leading decimal point can be confused with a dot: .{a}. Le point avant le point peut être confondu avec un point décimal plus petit: .{a}.

  • “Use the array literal notation []. : utilise le symbole de l’arrayon []“,

  • Expected an operator and instead saw {a}. : a été remplacé par un symbole {a},

  • Une espace inattendu après {a} .

  • Une espace inattendu avant {a} .

  • Le changement de ligne incorrect avant le changement de ligne a causé une rupture de la ligne.

  • Expected {a} to have an indentation at {b} instead at {c}. : {a} a besoin de s’indenter à {c} plutôt qu’à {b}

  • L’erreur de rupture de ligne.

  • Le nom de l’équipe est “Unexpected use of {a}”.

  • Le nombre de fois que l’opérateur a fait une erreur est le nombre de fois que l’opérateur a fait une erreur.

  • Utilisez la fonction isNaN pour comparer avec NaN.

  • L’utilisation de l’acide chlorhydrique dans la composition de l’acide chlorhydrique est une des causes de confusion.

  • Le blogueur a écrit: “C’est un peu comme si les gens ne pouvaient pas lire les messages que nous leur envoyons.

  • C’est une fonction. C’est une fonction.

  • Il y a un problème avec le fait que les gens n’ont pas le droit de faire ce qu’ils veulent, mais ils ont le droit de le faire.

  • Do not assign to the exception parameter. N’attribuez pas de valeur à des paramètres supplémentaires

  • Expected an identifier in an assignment and instead saw a function invocation. : Une expression attribuée à une valeur nécessite un identifiant plutôt qu’une colonne d’appel d’une méthode.

  • Expected an identifier and instead saw {a} (a reserved word). : Il fallait un identifiant au lieu d’un caractère réservé {a}

  • Missing name in function declaration. : Le nom de la fonction est manquant dans la déclaration de la fonction.

  • Expected an identifier and instead saw {a} . : Il fallait un identifiant au lieu de {a} .

  • Inner functions should be listed at the top of the outer function. Les déclarations des fonctions internes devraient être répertoriées en haut de la fonction externe.

  • Il n’est pas possible d’obtenir de l’hydrogène après l’hydrogène, mais il est possible d’obtenir de l’hydrogène après l’hydrogène.

  • Le point-virgule inutile est un point-virgule qui n’est pas nécessaire.

  • Il y a une déclaration dans laquelle il y a un label et il y a une déclaration dans laquelle il y a un label.

  • Il y a un lien vers le site web de l’équipe de rédaction de l’article, qui a été publié par le site de rédaction de l’article.

  • Expected an assignment or function call and instead saw an expression : Vous attendez une attribution ou un appel de fonction plutôt qu’une expression.

  • Je ne sais pas si c’est une bonne idée, mais je pense que c’est une bonne idée, et je pense que c’est une bonne idée.

  • Il y a une différence entre les deux, mais il n’y a pas de différence.

  • Il y a une déclaration de l’auteur de l’article qui est absente, mais il n’y a pas de commentaire.

  • Les blocs sont remplis d’un seul bloc, et les blocs sont remplis de blocs différents.

  • “Unexpected /*Il ne devrait pas y avoir de membre*L’élément a est le silicium.

  • ”{a}” est une étiquette de déclaration.

  • L’utilisation de la poudre est hors de portée.

  • Il n’est pas permis d’utiliser le mot “a” dans le texte.

  • {a} n’est pas défini

  • Il est possible de comparer le nombre d’étoiles avec le nombre d’étoiles.

  • Les variables ne doivent pas être supprimées.

  • Use the object literal notation {}.

  • Do not use {a} as a constructor. : N’utilisez pas {a} comme un constructeur.

  • “The Function constructor is eval.”:“The Function constructor is eval.”,

  • Un nom de constructeur devrait commencer par une lettre majuscule.

  • Il y a une erreur dans la construction de l’objet, et il y a une erreur dans la construction de l’objet.

  • Une construction étrange. Supprimer une construction nouvelle. Supprimer une construction nouvelle

  • Missing ((() invoking a constructor. : Les parenthèses sont manquantes (() ,

  • Si vous avez des arguments à éviter, vous pouvez les ajouter.

  • document.write can be a form of eval. : document.write est une forme d’eval qui permet d’écrire un document en utilisant le fichier de commande.

  • Je ne suis pas d’accord avec ce que vous dites, mais je pense qu’il faut éviter d’utiliser le terme “eval”.

  • Math n’est pas une fonction.

  • Missing new prefix when invoking a constructor. : Le préfixe new est manquant, mais il n’y a pas de préfixe new.

  • Missing radix parameter. : Le paramètre est manquant

  • Implied eval is evil. Pass a function instead of a string. Implied eval is evil. Pass a function instead of a string. Implied eval is evil. Pass a function instead of a string. Pass a function instead of a string. Implied eval is evil. Pass a function instead of a string.

  • Il y a une erreur dans l’invocation de l’anneau, et il y a une erreur dans l’invocation de l’anneau.

  • “[‘{a}’] is better written in dot notation.”:“[‘{a}’ est préférable d’utiliser le point.

  • Il y a aussi un commentaire sur le site de l’association:

  • Don’t make functions within a loop. Ne créez pas de fonctions dans une boucle.

  • Le paramètre inattendu a dans la fonction get b.

  • Il y a un membre dupliqué.

  • Je m’attendais à voir une déclaration et j’ai vu un bloc.

  • Il y a trop de déclarations de var.

  • Le nom de l’étoile a été redéfini par l’étoile de l’étoile.

  • Il n’est pas nécessaire d’initialiser {a} à undefined.

  • Expected a conditional expression and instead saw an assignment. : Vous attendez une expression et non une assignation

  • Expected a break statement before case. : Il est nécessaire d’avoir une déclaration break avant case.

  • Expected a break statement before default. : Une déclaration de break est attendue avant default.

  • Cette commutation devrait être une commutation si.

  • Toutes les déclarations du débogueur devraient être supprimées.

  • {a} n’est pas une étiquette de déclaration.

  • Expected an assignment or function call and instead saw an expression. : Vous attendez un appel de fonction ou d’une instruction plutôt qu’un appel d’expression.

  • Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function. : Les déclarations de fonctions ne doivent pas être placées dans des blocs similaires à if, mais au-dessus des fonctions externes.

  • Voici quelques exemples de conseils que vous avez pu trouver dans votre propre projet:

  • 1 [W099]:Mixed spaces and tabs

Cette erreur est la plus courante, c’est-à-dire que l’espace et le raccourcissement des onglets sont mélangés dans la même ligne. La modification est très simple, généralement en supprimant le raccourcissement des onglets et en le remplaçant par un espace. Pour plus de commodité, nous pouvons configurer le raccourcissement des onglets de l’éditeur en 2 ou 4 espaces, au lieu du raccourcissement original.

  • 2 [W030]:Expected an assignment or function call and instead saw an expression

C’est un peu bizarre, mais j’ai fait une erreur avec le code suivant: index-1 < 0 ? index = 0:index = index - 1; c’est une expression à virgule, mais JSLInt pense qu’il ne faut pas utiliser une expression, mais une fonction, donc si vous vous inquiétez vraiment de cette erreur, changez-la en une expression if else.

  • 3 [W041]:Use ‘===’ to compare with …

Cette erreur signifie que si nous remplaçons par une équation complète, alors si les types de données des deux côtés de l’expression sont identiques, nous recommandons d’utiliser une équation complète pour déterminer si la valeur de l’équation est égale à la valeur de l’équation.

  • 4 [W033]:Missing semicolon

Il manque un point; c’est généralement quelque chose que j’ai oublié d’écrire moi-même, mais une chose à noter est que pour une structure d’une seule phrase, il faut aussi écrire un point après. Par exemple: if(index) {index=tcount-1} Ce code, la bonne écriture est if(index) {index=tcount-1;}, j’oublie souvent d’écrire un point ici, mais…

  • Il y a d’autres astuces qui peuvent vous aider à développer votre style de codage et vos habitudes d’écriture.

La vidéo a été postée sur le blog de Zhou Xiao, et a été publiée sur le blog de Zhou Xiao, Zhou Xiao et Zhou Xiao.