Articles of jslint

Erro JSLint: Mover todas as declarações ‘var’ para o topo da function

O site JSLint foi atualizado e não consigo mais verificar os scripts JS. Para mim, esse aviso não é crítico, e não quero passar por milhares de linhas para corrigir isso, quero encontrar problemas mais críticos. Alguém sabe como desativar esse erro ou usar o JSLint legado? ATUALIZAR Exemplo: function doSomethingWithNodes(nodes){ this.doSomething(); for (var i […]

Por que você não deve usar o Number como um construtor?

Eu entrei nesta declaração no JSLint: var number = new Number(3); E recebeu a seguinte mensagem: Não use Number como um construtor. Por que é que? A instrução está criando um object numérico, não um valor primitivo, então não vejo por que usar o new é um problema. EDIT: Obrigado por todas as respostas. Eles […]

JSLint “inseguro ^” na expressão regular

O JSLint reporta Insecure ‘^’ para a linha a seguir. Por que é que? Ou será que vai reclamar sempre que eu quiser negar uma aula de personagem? // remove all non alphanumeric, comma and dash characters “!$7s-gd,&j5d-a#”.replace(/[^\w,\-]/g, ”);

JSlint: inesperado “para”

Eu tenho testado com botões de rádio. Tudo parece bem até que eu corri através de fiapos JS. Corrigi todos os erros, exceto um: Inesperado ‘para’ for (i = 0; i < radios.length; i += 1) { Aqui está o meu Javascript: /*global body,window,document,alert*/ (function () { “use strict”; var UIlogic; UIlogic = { myLoad: […]

Erro JSlint ‘Não faça funções dentro de um loop’. leva a questionar sobre o próprio Javascript

Eu tenho algum código que invoca funções anônimas dentro de um loop, algo como este pseudo exemplo: for (i = 0; i < numCards; i = i + 1) { card = $('’).bind(‘isPopulated’, function (ev) { var card = $(ev.currentTarget); …. O JSLint relata o erro “Não faça funções dentro de um loop”. Eu gosto […]

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?