js determina el tipo indefinido
Hoy, use showModalDialog para abrir la página y devolver el valor. Cuando la página abierta hace clic en el botón cerrar o hace clic directamente en el botón cerrar en el navegador, el valor de retorno no está definido.
Así que haz tu propio juicio
var reValue=window.showModalDialog("","","");
si (reValor== indefinido){
alerta("indefinido");
}
Descubrí que no podía saberlo, así que finalmente verifiqué la información y necesitaba usar typeof.
método:
if (typeof(reValue) == "indefinido") {
alerta("indefinido");
}
typeof devuelve una cadena, hay seis posibilidades: "número", "cadena", "booleano", "objeto", "función", "indefinido"
La diferencia entre indefinido, nulo y NaN en js
1.Análisis de tipo:
Hay 5 tipos de datos en js, incluidos indefinido, booleano, numérico, cadena y objeto. Los primeros 4 tipos son tipos primitivos y el quinto tipo es tipo de referencia.
var a1;
var a2 = verdadero;
var a3 = 1;
var a4 = "Hola";
var a5 = nuevo Objeto();
var a6 = nulo;
var a7 = NaN;
var a8 = indefinido;
alerta(tipo de a); //mostrar "indefinido"
alert(tipo de a1); //Mostrar "indefinido"
alert(tipo de a2); //Mostrar "booleano"
alert(tipo de a3); //Mostrar "número"
alert(tipo de a4); //Mostrar "cadena"
alert(tipo de a5); //Mostrar "objeto"
alert(tipo de a6); //Mostrar "objeto"
alert(tipo de a7); //Mostrar "número"
alert(tipo de a8); //Mostrar "indefinido"
Del código anterior, podemos ver que los valores no definidos y los valores no asignados no están definidos, nulo es un objeto especial y NaN es un número especial.
2. Operaciones de comparación
var a1; //El valor de a1 no está definido
var a2 = nulo;
var a3 = NaN;
alerta(a1 == a2); //muestra "verdadero"
alert(a1 != a2); //Mostrar "falso"
alert(a1 == a3); //Mostrar "falso"
alert(a1 != a3); //Mostrar "verdadero"
alert(a2 == a3); //Mostrar "falso"
alert(a2 != a3); //Mostrar "verdadero"
alert(a3 == a3); //Mostrar "falso"
alert(a3 != a3); //Mostrar "verdadero"
Del código anterior, podemos sacar la conclusión: (1) indefinido y nulo son iguales (2) NaN no es igual a ningún valor ni es igual a sí mismo;
Propiedad indefinida de JavaScript
Definición y uso
El atributo indefinido se utiliza para almacenar el valor indefinido de JavaScript.
gramática
indefinido
ilustrar
No puede usar un bucle for/in para enumerar una propiedad indefinida, ni puede usar el operador de eliminación para eliminarla.
undefinido no es una constante y se puede establecer en otros valores.
También se devolverá Undefinido al intentar leer una propiedad de objeto que no existe.
Consejos y notas
Consejo: solo puede usar el operador === para probar si un valor no está definido, porque el operador == considera que un valor indefinido es equivalente a nulo.
Nota: nulo significa sin valor, mientras que indefinido significa una variable no declarada, una variable que ha sido declarada pero no tiene valor asignado o una propiedad de objeto que no existe.
Ejemplo
En este ejemplo detectaremos que una de las dos variables está indefinida:
<tipo de script="texto/javascript">
vart1=""
vart2
if (t1===indefinido) {document.write("t1 no está definido")}
if (t2===indefinido) {document.write("t2 no está definido")}
</script>
Producción:
t2 no está definido