Articles of jslint

Devo usar a validação JavaScript JSLint ou JSHint?

No momento estou validando meu JavaScript contra o JSLint e fazendo progresso, ele está me ajudando a escrever um JavaScript melhor – em particular, ao trabalhar com a biblioteca Jquery. Eu já vi o JSHint , um fork do JSLint . Então, eu estou querendo saber para aplicações web, que são muito JavaScript foi conduzido, […]

Ordem das funções JavaScript: por que isso importa?

Pergunta original: O JSHint reclama quando meu JavaScript chama uma function definida mais abaixo na página do que a chamada a ela. No entanto, minha página é para um jogo e nenhuma function é chamada até que a coisa toda seja baixada. Então, por que as funções de pedido aparecem no meu código? EDIT: Eu […]

Como dividir uma expressão regular longa em várias linhas em JavaScript?

Tenho uma expressão regular muito longa, que desejo dividir em várias linhas no meu código JavaScript para manter cada comprimento de linha de 80 caracteres de acordo com as regras do JSLint. É apenas melhor para ler, eu acho. Aqui está um exemplo de padrão: var pattern = /^(([^()[\]\\.,;:\s@\”]+(\.[^()[\]\\.,;:\s@\”]+)*)|(\”.+\”))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

JSLint de repente está relatando: Use o formulário de function “use strict”

Eu incluo a declaração: “use strict”; no começo da maioria dos meus arquivos Javascript. O JSLint nunca antes avisou sobre isso. Mas agora é, dizendo: Use o formulário de function “use strict”. Alguém sabe o que seria o “formulário de function”?

O que há de errado com var x = new Array ();

No JSLint, ele adverte que var x = new Array(); (Esse não é um nome de variável real) deve ser var result = []; O que há de errado com a 1ª syntax? Qual é o raciocínio por trás da sugestão?

Como inicializar o tamanho de uma matriz em javascript?

A maioria dos tutoriais que eu li em matrizes em JavaScript (incluindo w3schools e devguru ) sugerem que você pode inicializar um array com um determinado comprimento passando um inteiro para o construtor Array usando o var test = new Array(4); syntax. Depois de usar essa syntax generosamente nos meus arquivos js, eu corri um […]

Sintaxe de Chamada de Função Imediata

Existe uma opção JSLint , uma das “The Good Parts” que, de fato, “[requer] parênteses em torno de invocações imediatas”, significando que a construção (function () { // … })(); precisaria, em vez disso, ser escrito como (function () { // … }()); Minha pergunta é essa: alguém pode explicar por que essa segunda forma […]

Como corrigir o erro jslint ‘Não faça funções dentro de um loop’.

Eu estou trabalhando para fazer todo o nosso código JS passar pelo jslint, às vezes com muitos ajustes com as opções para obter passagem de código legado para agora com a intenção de corrigi-lo corretamente mais tarde. Há uma coisa que jslint reclama que eu não tenho um trabalho para. É quando usamos construções como […]

Qual é a diferença entre `new Object ()` e notação literal de object?

Qual é a diferença entre esta syntax baseada em construtor para criar um object: person = new Object() … e esta syntax literal: person = { property1 : “Hello” }; Parece que ambos fazem a mesma coisa, embora o JSLint prefira usar a notação literal do object. Qual deles é melhor e por quê?

Por que evitar operadores de incremento (“++”) e decremento (“-”) em JavaScript?

Uma das dicas para a ferramenta jslint é: ++ e – Sabe-se que os operadores ++ (incremento) e – (decremento) contribuem para o código incorreto, incentivando o excesso de truques. Eles perdem apenas para a arquitetura defeituosa ao permitir vírus e outras ameaças de segurança. Existe uma opção plusplus que proíbe o uso desses operadores. […]