JSLint detecta especificações de sintaxe Javascript
No front-end de programação de JavaScript, há uma ótima ferramenta chamada JSLint, que permite verificar a normalização do código e ver o que os sinais de erro do JSLint significam:
-
Semicolon Missing. <unk>: <unk> falta um ponto. <unk>, <unk> falta um ponto.
-
<unk> Use the function form of <unk>use strict <unk>.<unk>: <unk> usa a função de definição padronizada <unk>.<unk>
-
<unk> Unexpected space after <unk>-<unk>. <unk>: Não deve haver espaço após <unk>-<unk>. <unk>
-
<unk> Expected a JSON value. <unk>: Por favor, insira um valor json. <unk>
-
<unk>Mixed spaces and tabs.<unk>: <unk>Espaços mistos e tabelas repetidas.<unk>
-
"O que é um personagem inseguro?"
-
Linha muito longa. Linha com mais caracteres do que o máximo definido.
-
"Trailing whitespace" (Espaço em branco em trilho)
-
O URL do script é o URL do script.
-
O que não deveria estar no quebra-cabeça do quebra-cabeça.
-
Não devia estar aqui. Não devia estar aqui.
-
<unk>Strings must use doublequote. <unk>: As strings devem ser marcadas com aspases duplas.
-
"O que é uma fuga desnecessária?"
-
<unk>Control character in string: {a}. <unk>: O <unk> aparece na string como um caractere de controle, mas não como um caractere de controle.
-
“Avoid - Não, não, não.\”,
-
“Avoid \v. Alimentação: Alimentação evitada\v”,
-
“Avoid \x. Alimentação: Alimentação evitada.\x-”,
-
"Bad escapement". "Bad escapement". "Bad escapement". "Bad escapement". "Bad escapement". "Bad escapement".
-
"Bad number" "Bad number" "Bad number"
-
<unk> Missing space after <unk> {a} <unk> <unk>: <unk> <unk> {a} <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk>
-
Não use zeros extras na frente de uma vírgula, não use zeros extras na frente de uma vírgula.
-
A. A. A. A.: A. A. A. A. A.
-
<unk> A trailing decimal point can be confused with a dot <unk>{a} <unk>.
-
Não deveria ter feito comentários aqui.
-
"Ainda não escapou". "Ainda não escapou".
-
<unk>Unexpected control character in regular expression. <unk>: O caráter de controle <unk> aparece em uma expressão regular, mas não é um caráter de controle.
-
<unk> Unexpected escaped character <unk>{a} <unk> in regular expression. <unk>: <unk> aparece em expressões regulares sem tradução <unk>{a} <unk>
-
<unk> Expected <unk> {a} <unk> and instead saw <unk> {b} <unk>.
-
<unk> Spaces are hard to count. Use {{a}}. <unk>: Os espaços em branco são difíceis de contar, use {{a}}.
-
"Insecure" é uma palavra que significa "Inseguro".
-
Empty class. Empty class. Empty class.
-
<unk> Expected a number and instead saw <unk>{a}<unk>.
-
O valor de <unk>{a} não deve ser maior do que <unk>{b}
-
"A HasOwnProperty é um nome muito mau.
-
<unk> {a} <unk> was used before it was defined. <unk>: <unk> {a} <unk> foi usado antes de ser definido.
-
<unk> {a} <unk> is already defined. <unk>: <unk> {a} <unk> é repetidamente definido <unk>
-
Um ponto após um número pode ser confundido com um ponto decimal.
-
Confusão de minusses de lítio: lítio é facilmente confundido com a expressão de números negativos - lítio, lítio, lítio, lítio.
-
Confusing plusses. Confusing plusses: confusão de números positivos + confusão de números positivos + confusão de números positivos.
-
"O que não se pode comparar com o que existe no mundo, é o que existe no universo".
-
<unk> Expected <unk> {a} <unk> to match <unk> {b} <unk> from line {c} and instead saw <unk> {d} <unk>.
-
O que é um programa que termina prematuramente? Um programa que termina prematuramente é um programa que termina prematuramente.
-
<unk> A leading decimal point can be confused with a dot: <unk>.{a}<unk>.
-
“Use the array literal notation []. <unk>: <unk> usa o símbolo de uma matriz []“,
-
<unk> Expected an operator and instead saw <unk>{a}<unk>. <unk>: O operador <unk> {a} <unk> precisa ser substituído por um símbolo <unk> {a} <unk>, e em vez disso <unk> {a} <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk>
-
<unk>Unexpected space after <unk>{a}<unk>. <unk>: O espaço não pode aparecer após <unk>{a}<unk>.
-
<unk> Unexpected space before <unk>{a}<unk>. <unk>: O espaço não pode aparecer antes de <unk>{a}<unk>.
-
<unk>Bad line breaking before <unk>{a}<unk>. <unk>: <unk>Bad line breaking before <unk>{a}<unk>.
-
<unk> Expected <unk> {a} <unk> to have an indentation at {b} instead at {c}. <unk>: <unk> {a} <unk> precisa se encaixar em {c} e não em {b} <unk>
-
"Line breaking error" (erro de quebra de linha)
-
Não pode ser usado aqui, mas pode ser usado em qualquer lugar.
-
Bad operand. Bad operand. Bad operand. Bad operand.
-
<unk> Use the isNaN function to compare with NaN. <unk> Use the isNaN function to compare with NaN. <unk> Use the isNaN function to compare with NaN.
-
<unk> Confusing use of <unk> (a) <unk>. <unk>: <unk> é facilmente confundido com <unk> (a) <unk>.
-
O que é Read-Only?
-
A função <unk>{a} <unk> é uma função.
-
"Bad assignment" - uma atribuição errada, uma atribuição errada, uma atribuição errada.
-
<unk> Do not assign to the exception parameter. <unk>: Não atribuir valores adicionais ao parâmetro de exceção.
-
<unk> Expected an identifier in an assignment and instead saw a function invocation. <unk>: O que é necessário é um identificador em uma atribuição, e não um código de chamada de um método.
-
<unk> Expected an identifier and instead saw <unk>{a}<unk> (a reserved word). <unk>: <unk> precisava de um identificador, ao invés de <unk>{a}<unk>
-
<unk> Missing name in function declaration. <unk>: O nome <unk> está ausente na declaração do método,
-
<unk> Expected an identifier and instead saw <unk> {a} <unk>. <unk>: <unk> precisava de um identificador, em vez de <unk> {a} <unk>,
-
<unk>Inner functions should be listed at the top of the outer function. <unk>: A declaração da função interna deve ser listada no topo da função externa.
-
"Unreachable" "Unreachable" "Unreachable" "Unreachable" "Unreachable" "Unreachable"
-
Semicolon (semicolon) desnecessário
-
<unk>Label <unk>{a}<unk> on {b} statement. <unk>: <unk> coloca <unk>{a}<unk> na declaração de <unk>{b}
-
O que é o URL do projeto? <unk>Label <unk> looks like a javascript url.
-
<unk> Expected an assignment or function call and instead saw an expression <unk>: Expected an assignment or function call and instead saw an expression <unk>: Expected an assignment or function call and instead saw an expression <unk>
-
Não use <unk>new<unk> para efeitos colaterais.
-
<unk> Unnecessary <unk>use strict<unk>.<unk>: <unk> Não é necessário <unk>use strict<unk>.<unk>
-
<unk> Missing <unk>use strict<unk> statement. <unk>: <unk> falta <unk>use strict<unk> declaração <unk>
-
Empty block. Empty block: um bloco vazio.
-
“Unexpected /*Member <unk>{a}<unk>.<unk>: Não deveria aparecer /*Elementos de potássio
-
"<unk>{a}<unk> é um rótulo de declaração".
-
"Used out of scope" (usado fora do escopo)
-
Não é permitido o uso de <unk>{a}<unk>.
-
<unk> {a} <unk> is not defined. <unk>: <unk> {a} <unk> não está definido
-
<unk>Use <unk>a{}<unk> to compare with <unk>b{}<unk>
-
<unk> Variables should not be deleted. <unk>: As variáveis <unk> não devem ser excluídas <unk>
-
<unk>Use the object literal notation {}. <unk>: Use a notação literal do objeto {} <unk>,
-
Não use {a} como um constructor.
-
“The Function constructor is eval.”:“The Function constructor is eval.”,
-
Um nome de constructor deve começar com uma letra maiúscula.
-
A construção errada do objeto de construção, o que significa que o objeto de construção não pode ser executado, ou que o objeto não pode ser executado.
-
<unk>Weird construction. Delete <unk>new<unk>. <unk>: O objeto de construção do <unk> foi errado, por favor, remova <unk>new<unk>,
-
<unk> Missing <unk> ((() <unk> invoking a constructor. <unk>: <unk> falta o parênquima <unk> (() <unk>,
-
<unk> Avoid arguments.{a}. <unk>: <unk> evita os argumentos.{a}. <unk>
-
<unk>document.write can be a form of eval. <unk>
-
"<unk>eval is evil" (<unk>eval é mau).
-
<unk>Math is not a function. <unk>: <unk>Math não é uma função <unk>
-
<unk>Missing <unk>new<unk> prefix when invoking a constructor. <unk>: <unk> O prefixo <unk>new<unk> está ausente quando se invoca um construtor.
-
<unk> Missing radix parameter. <unk>: <unk> Parâmetros em falta <unk>
-
<unk>Implied eval is evil. Pass a function instead of a string. <unk>: Pass a function instead of a string <unk>: Pass a function instead of a string <unk>: Pass a function instead of a string <unk>: Pass a function instead of a string <unk>: Pass a function instead of a string <unk>: Pass a function instead of a string <unk>
-
A invocação errada de uma invocação errada de uma invocação errada de uma invocação errada.
-
“['{a}'] is better written in dot notation.”:“['{a}' é melhor usar o ponto.
-
"Extra comma" (em inglês).
-
<unk> Don't make functions within a loop. <unk> Não crie funções dentro de um loop.
-
<unk>Unexpected parameter <unk>{a}<unk> in get {b} function. <unk>: O método {b} não deve usar o parâmetro <unk>{a}<unk>,
-
<unk> Duplicate member <unk> {a} <unk>. <unk>: <unk> duplicate member <unk> {a} <unk>
-
<unk> Expected to see a statement and instead saw a block. <unk>: Esperava ver uma declaração e, em vez disso, vi um bloco.
-
"Too many var statements" (Muitas declarações de var)
-
<unk> Redefinition of <unk>{a} <unk>. <unk>: <unk>{a} <unk> é redefinido repetidamente <unk>,
-
<unk> It is not necessary to initialize <unk>{a}<unk> to <unk>undefined<unk>. <unk>: Não é necessário inicializar <unk>{a}<unk> para <unk>undefined<unk>.
-
<unk> Expected a conditional expression and instead saw an assignment. <unk>: Esperava uma expressão condicional e, em vez disso, viu uma atribuição.
-
<unk> Expected a <unk>break<unk> statement before <unk>case<unk>. <unk>: Expected a <unk>break<unk> statement before <unk>case<unk>. <unk>: Expected a <unk>break<unk> statement before <unk>case<unk>.
-
<unk> Expected a <unk>break<unk> statement before <unk>default<unk>. <unk>: Expected a <unk>break<unk> statement before <unk>default<unk>. <unk>: Expected a <unk>break<unk> statement before <unk>default<unk>.
-
<unk> This <unk>switch <unk> should be an <unk>if <unk>. <unk>: <unk>This <unk>switch <unk> should be an <unk>if <unk>.
-
<unk>All <unk>debugger<unk> statements should be removed.<unk>: Todas as declarações do <unk>debugger<unk> devem ser removidas.
-
<unk>{a} <unk> is not a statement label. <unk>: <unk>{a} <unk> não é um rótulo de declaração.
-
<unk> Expected an assignment or function call and instead saw an expression. <unk>: Expected an assignment or function call and instead saw an expression. <unk>: Expected an assignment or function call and instead saw an expression.
-
<unk>Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function. <unk>
-
A seguir, alguns exemplos de dicas que você encontrou em seu próprio projeto:
-
1 [W099]:Mixed spaces and tabs
Este erro é o mais comum, o que significa que em uma mesma linha, o espaço e o encolhimento de tabela são misturados. A modificação é muito simples, geralmente é remover o encolhimento de tabela e substituí-lo por espaço. Para facilitar, podemos definir o encolhimento de tabela do editor em 2 ou 4 espaços, em vez do encolhimento original.
-
2 [W030]:Expected an assignment or function call and instead saw an expression
O que é estranho sobre esse erro é que eu escrevi o seguinte código: index-1 < 0 ? index = 0:index = index - 1; é uma expressão com um ponto, mas o JSLInt acha que não deve ser uma expressão, mas sim uma função, então, se você está preocupado com esse erro, você pode mudar para uma declaração de "if else".
-
3 [W041]:Use '===' to compare with ...
O erro é dizer que, se substituirmos por inteiros o que é igual, se os tipos de dados de ambos os lados da expressão são iguais, recomendamos usar inteiros.
-
4 [W033]:Missing semicolon
Falta de ponto; isso geralmente é algo que eu esqueci de escrever, mas uma coisa que precisa ser notada é que, para uma estrutura de apenas uma frase, você também precisa escrever o ponto. Por exemplo: if(index<0) {index=tcount-1} Este código, a escrita correta é if(index<0) {index=tcount-1;}, eu costumo esquecer de escrever o ponto aqui, e ...
-
E se você tiver algum outro erro, corrija-o para que você tenha um bom estilo de programação e hábitos de escrita.
A partir de agora, o blogueiro Zy Studio, que é um dos mais antigos do país, vai se dedicando a estudar o assunto.
- 1
