getelementbyname - javascript get by tag
javascript check para no nulo (9)
A continuación se muestra un fragmento de código, donde recuperamos un valor de formulario. Antes de seguir procesando, compruebe si el valor no es nulo.
var val = document.FileList.hiddenInfo.value;
alert("val is " + val); // this prints null which is as expected
if (val != null)
{
alert("value is "+val.length); // this returns 4
}
else
{
alert("value* is null");
}
¿Alguna idea de por qué sucede así que ...?
¡Debería utilizar el operador de comparación estricto, not equals !== modo que si el usuario ingresa "null" , no podrá acceder al else .
Es porque val no es null , pero contiene ''null'' como una cadena.
Intenta verificar con ''nulo''
if (''null'' != val)
Esto debería funcionar bien ...
if(val!= null)
{
alert("value is "+val.length); //-- this returns 4
}
else
{
alert("value* is null");
}
Esto funcionará:
if (val) {
alert("Not null");
} else {
alert("Null");
}
Hay 3 formas de verificar "no nulo". Mi recomendación es usar la versión estricta, no.
1. Estricta, no versión
if (val !== null) { ... }
The Strict Not Version utiliza el "Algoritmo de comparación de igualdad estricta" http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 . El !== tiene un rendimiento más rápido que el operador != Porque el algoritmo de comparación de igualdad estricta no encasilla los valores.
2. No estricta, no versión
if (val != ''null'') { ... }
La versión no estricta utiliza el "Algoritmo de comparación de igualdad abstracta" http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3 . El != Tiene un rendimiento más lento, que el operador !== porque el Algoritmo de comparación de igualdad abstracta escribe los valores.
3. Doble no versión
if (!!val) { ... }
El doble no versión !! tiene un rendimiento más rápido, que el Strict Not Version !== y el Non-Strict Not Version != ( https://jsperf.com/tfm-not-null/6 ). Sin embargo, encasillará los valores de "Falsey" como undefined y NaN en False ( http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 ) lo que puede conducir a resultados inesperados, y tiene peor legibilidad porque null no está explícitamente establecido.
Posiblemente porque el valor de val es en realidad la cadena "null" lugar del valor null .
Si desea poder incluir 0 como valor válido:
if (!!val || val === 0) { ... }
Use !== as != llevará a un mundo de rareza de la tabla de verdad de JavaScript no transitiva.
esto hará el truco para ti
if (!!val) {
alert("this is not null")
} else {
alert("this is null")
}