Incluir 'use strict';
como la primera declaración en una función de ajuste, por lo que solo afecta a esa función. Esto evita problemas al concatenar scripts que no son estrictos.
Vea la última publicación de blog de Douglas Crockford Strict Mode Is Coming To Town .
Ejemplo de esa publicación:
(function () {
'use strict';
// this function is strict...
}());
(function () {
// but this function is sloppy...
}());
Actualización:
en caso de que no desee ajustarse a la función inmediata (por ejemplo, es un módulo de nodo), puede desactivar la advertencia.
Para JSLint (por Zhami ):
/*jslint node: true */
Para JSHint :
/*jshint strict:false */
o (según Laith Shadeed )
/* jshint -W097 */
Para deshabilitar cualquier advertencia arbitraria de JSHint, verifique el mapa en el código fuente de JSHint (detalles en documentos ).
Actualización 2: JSHint admite la node:boolean
opción. Ver .jshintrc
en github .
/* jshint node: true */
-1
/*jshint strict:false */
, para hacerlo más claro lo que está haciendo (a menos que haya un beneficio particular a su código numérico que no soy consciente de)"use strict";
una vez por archivo.Si está escribiendo módulos para NodeJS, ya están encapsulados. Dígale a JSLint que tiene un nodo al incluirlo en la parte superior de su archivo:
fuente
/*jshint strict:false */
"node": true
a .jshintrcSugeriría usar jshint en su lugar.
Permite suprimir esta advertencia a través de
/*jshint globalstrict: true*/
.Si está escribiendo una biblioteca, solo sugeriría usar global estricto si su código está encapsulado en módulos, como es el caso de nodejs.
De lo contrario, obligaría a todos los que usan su biblioteca a un modo estricto.
fuente
strict: 'global'
ahora y vea jshint.com/docs/options/#globalstrictComencé a crear una aplicación Node.js / browserify después de la publicación del blog Cross Platform JavaScript . Y me encontré con este problema, porque mi nuevo Gruntfile no pasó jshint.
Afortunadamente encontré una respuesta en el libro Leanpub sobre Grunt :
Agregando
node: true
a jshintoptions
, para poner jshint en "Modo Nodo", eliminé ambos errores para mí.fuente
Agregue un archivo .jslintrc (o .jshintrc en el caso de jshint) en la raíz de su proyecto con el siguiente contenido:
fuente
No hay nada innatamente mal con la forma de la cadena.
En lugar de evitar la forma estricta "global" por la preocupación de concatenar JavaScript no estricto, probablemente sea mejor arreglar el maldito JavaScript no estricto para que sea estricto.
fuente
Creo que todos se perdieron la parte "repentina" de esta pregunta. Lo más probable es que su .jshintrc tenga un error de sintaxis, por lo que no incluye la línea del 'navegador'. Ejecútelo a través de un validador json para ver dónde está el error.
fuente
agregue estas líneas al punto de inicio de su archivo
fuente
Así de simple es: si desea ser estricto con todo su código, agregue
"use strict";
al comienzo de su JavaScript.Pero si solo quiere ser estricto con algunos de sus códigos, use el formulario de función. De todos modos, le recomendaría que lo use al comienzo de su JavaScript porque esto lo ayudará a ser un mejor codificador.
fuente
"use strict";
en la parte superior de mi archivo JS, por lo que esto podría no ser del todo cierto."use strict";
, donde solo se coloca en la parte superior de su código. Solo permite"use strict;"
cuando está envuelto en una función. (Sin embargo, JS_Hint_ le permite utilizar el formulario global; consulte la respuesta anterior para conocer la configuración necesaria).