Eu incluo a declaração:
"use strict";
no início da maioria dos meus arquivos Javascript.
O JSLint nunca havia alertado isso antes. Mas agora é, dizendo:
Use a forma de função "use strict".
Alguém sabe o que seria a "forma de função"?
fonte
Eu incluo a declaração:
"use strict";
no início da maioria dos meus arquivos Javascript.
O JSLint nunca havia alertado isso antes. Mas agora é, dizendo:
Use a forma de função "use strict".
Alguém sabe o que seria a "forma de função"?
Incluir 'use strict';
como primeira instrução em uma função de quebra automática, portanto, afeta apenas essa função. Isso evita problemas ao concatenar scripts que não são estritos.
Veja o post mais recente de Douglas Crockford no blog O Modo Estrito Está Chegando à Cidade .
Exemplo desse post:
(function () {
'use strict';
// this function is strict...
}());
(function () {
// but this function is sloppy...
}());
Atualização: Caso você não deseje interromper a função imediata (por exemplo, é um módulo de nó), poderá desativar o aviso.
Para JSLint (por Zhami ):
/*jslint node: true */
Para JSHint :
/*jshint strict:false */
ou (por Laith Shadeed )
/* jshint -W097 */
Para desativar qualquer aviso arbitrário do JSHint, verifique o mapa no código-fonte do JSHint (detalhes em documentos ).
Atualização 2: JSHint suporta a node:boolean
opção. Veja .jshintrc
no github .
/* jshint node: true */
-1
/*jshint strict:false */
, para tornar mais claro o que você está fazendo (a menos que há um benefício específico para o seu código numérico que eu não estou ciente de)"use strict";
uma vez por arquivo.Se você está escrevendo módulos para o NodeJS, eles já estão encapsulados. Diga ao JSLint que você possui um nó incluindo no topo do seu arquivo:
fonte
/*jshint strict:false */
"node": true
a .jshintrcEu sugiro usar o jshint .
Permite suprimir este aviso via
/*jshint globalstrict: true*/
.Se você estiver escrevendo uma biblioteca, eu sugeriria apenas o uso de strict global se seu código estiver encapsulado em módulos, como é o caso do nodejs.
Caso contrário, você forçaria todos que estão usando sua biblioteca a entrar no modo estrito.
fonte
strict: 'global'
agora e veja jshint.com/docs/options/#globalstrictComecei a criar um aplicativo Node.js./ browserify seguindo o JavaScript de plataforma cruzada postagem do blog em . E eu me deparei com esse problema, porque meu novíssimo Gruntfile não passou no jshint.
Felizmente, encontrei uma resposta no livro Leanpub sobre Grunt :
Adicionando
node: true
ao jshintoptions
, para colocar o jshint no "modo Nó", removi os dois erros para mim.fonte
Adicione um arquivo .jslintrc (ou .jshintrc no caso de jshint) na raiz do seu projeto com o seguinte conteúdo:
fonte
Não há nada errado com a forma da string.
Em vez de evitar a forma estrita "global" por se preocupar em concatenar javascript não estrito, provavelmente é melhor corrigir o maldito javascript não estrito para ser estrito.
fonte
Acho que todo mundo perdeu a parte "subitamente" dessa pergunta. Provavelmente, o seu .jshintrc tem um erro de sintaxe, portanto, não está incluindo a linha do 'navegador'. Execute-o através de um validador json para ver onde está o erro.
fonte
adicione estas linhas no ponto inicial do seu arquivo
fonte
É simples: se você deseja ser rigoroso com todo o seu código, adicione
"use strict";
no início do seu JavaScript.Mas se você quiser apenas ser rigoroso com parte do seu código, use o formulário da função De qualquer forma, eu recomendo que você o use no início do seu JavaScript, pois isso o ajudará a ser um codificador melhor.
fonte
"use strict";
a parte superior do meu arquivo JS, portanto, isso pode não ser totalmente verdade."use strict";
, onde é colocada apenas na parte superior do seu código. Só permite"use strict;"
quando envolvido em uma função. (JS_Hint_ permite que você use o formulário global - veja a resposta acima para a configuração necessária).