javascript - validacion - Se esperaba una asignación o llamada de función y en su lugar vi una expresión
validar formulario javascript antes de enviar (3)
No creo que JSLint tenga una opción para apagarlo.
JSHint (un tenedor con más opciones) tiene una opción: la opción expr
, documentada como "si ExpressionStatement debe permitirse como Programas".
Estoy totalmente tranquilo con este error JSLint . ¿Cómo puedo tolerarlo? ¿Hay una bandera o casilla de verificación para ello?
Lo obtienes cuando haces cosas como estas:
v && arr.push(v);
Opuesto a:
if (v) {
arr.push(v);
}
Ambos hacen lo mismo. Si pones:
window.test = function(v) {
''use strict'';
var arr = [];
if (v) {
arr.push(v);
}
return arr;
};
en el minificador se minimiza a esto de todos modos:
window.test=function(a){var b=[];a&&b.push(a);return b};
No hay opción para esto en JSLint. Puedes eludirlo usando:
var dummy = v && arr.push(v);
NB: dummy
evalúa a true
después de eso.
Otra solución podría ser:
function expression(statement) {
''use strict'';
return statement;
}
expression(v && arr.push);
Puede agregar la siguiente línea para ignorar esa advertencia:
/ * jshint -W030 * /
Puedes leer más sobre esto here .