js determina tipo indefinido
Hoje, use showModalDialog para abrir a página e retornar o valor. Quando a página aberta clica no botão Fechar ou clica diretamente no botão Fechar no navegador, o valor de retorno é indefinido.
Então faça seu próprio julgamento
var reValue=window.showModalDialog("","","");
if (reValue== indefinido){
alerta("indefinido");
}
Descobri que não sabia dizer, então finalmente verifiquei as informações e precisei usar typeof.
método:
if (typeof(reValue) == "indefinido") {
alerta("indefinido");
}
typeof retorna uma string, existem seis possibilidades: "número", "string", "booleano", "objeto", "função", "indefinido"
A diferença entre indefinido, nulo e NaN em js
1. Análise de tipo:
Existem 5 tipos de dados em js, incluindo indefinido, booleano, número, string e objeto. Os primeiros 4 tipos são tipos primitivos e o quinto tipo é o tipo de referência.
var a1;
var a2 = verdadeiro;
var a3 = 1;
var a4 = "Olá";
var a5 = novo Objeto();
var a6 = nulo;
var a7 = NaN;
var a8 = indefinido;
alert(typeof a); //exibe "indefinido"
alert(typeof a1); //Exibe "indefinido"
alert(typeof a2); //Exibe "booleano"
alert(typeof a3); //Exibe "número"
alerta(tipo de a4); //Exibe "string"
alert(typeof a5); //Exibe "objeto"
alert(typeof a6); //Exibe "objeto"
alert(typeof a7); //Exibe "número"
alert(typeof a8); //Exibe "indefinido"
No código acima, podemos ver que valores indefinidos e valores não atribuídos são indefinidos, nulo é um objeto especial e NaN é um número especial.
2. Operações de comparação
var a1; //O valor de a1 é indefinido
var a2 = nulo;
var a3 = NaN;
alerta(a1 == a2); //exibe "verdadeiro"
alerta(a1 != a2); //Exibir "falso"
alerta(a1 == a3); //Exibe "falso"
alerta(a1 != a3); //Exibir "verdadeiro"
alerta(a2 == a3); //Exibe "falso"
alerta(a2 != a3); //Exibe "verdadeiro"
alerta(a3 == a3); //Exibe "falso"
alerta(a3 != a3); //Exibe "verdadeiro"
Do código acima, podemos tirar a conclusão: (1) indefinido e nulo são iguais (2) NaN não é igual a nenhum valor, nem é igual a si mesmo;
Propriedade indefinida de JavaScript
Definição e uso
O atributo indefinido é usado para armazenar o valor indefinido do JavaScript.
gramática
indefinido
ilustrar
Você não pode usar um loop for/in para enumerar uma propriedade indefinida, nem pode usar o operador delete para excluí-la.
indefinido não é uma constante e pode ser definido com outros valores.
Indefinido também será retornado ao tentar ler uma propriedade de objeto que não existe.
Dicas e notas
Dica: Você só pode usar o operador === para testar se um valor é indefinido, porque o operador == considera um valor indefinido equivalente a nulo.
Nota: nulo significa nenhum valor, enquanto indefinido significa uma variável não declarada, uma variável que foi declarada mas não tem valor atribuído ou uma propriedade de objeto que não existe.
Exemplo
Neste exemplo, detectaremos que uma das duas variáveis é indefinida:
<script type="texto/javascript">
vart1=""
vart2
if (t1===indefinido) {document.write("t1 é indefinido")}
if (t2===indefinido) {document.write("t2 é indefinido")}
</script>
Saída:
t2 é indefinido