Para testar se uma variável é undefined ou null pode-se compará-la com as palavras chave undefined e null usando os operadores:
== (valor igual),
!= (valor diferente),
=== (estritamente igual, mesmo valor e tipo),
!== (diferente, tipo diferente)
No script abaixo existe uma variável y não declarada. Por causa dela uma exceção é gerada e tratada no catch logo abaixo.
Sempre é necessário verificar se uma variável/objeto é nula ou undefined antes de se usá-la, chamar seus métodos ou alterar suas propriedades.
É a não verificação dessas duas condições que sempre causa erros de script na página (objetos que não existem, que são nulos etc...).
O try ... catch vai garantir que você encontre o erro mesmo que esqueça dessas coisas essenciais, e seu script não para de funcionar, mesmo com erro.
Teste de Undefined
var x;
try
{
if(x == null)
{
document.getElementById('resultado').innerHTML += "x é == null
";
}
else
{
document.getElementById('resultado').innerHTML += "x é != null
";
}
if(x === null)
{
document.getElementById('resultado').innerHTML += "x é === null
";
}
else
{
document.getElementById('resultado').innerHTML += "x é !== null
";
}
if(x == undefined)
{
document.getElementById('resultado').innerHTML += "x é == undefined
";
}
else
{
document.getElementById('resultado').innerHTML += "x é != undefined
";
}
if(x === undefined)
{
document.getElementById('resultado').innerHTML += "x é === undefined
";
}
else
{
document.getElementById('resultado').innerHTML += "x é !== undefined
";
}
if(y == null)
{
document.getElementById('resultado').innerHTML += "y é == null
";
}
else
{
document.getElementById('resultado').innerHTML += "y é != null
";
}
if(y === null)
{
document.getElementById('resultado').innerHTML += "y é === null
";
}
else
{
document.getElementById('resultado').innerHTML += "y é !== null
";
}
if(y == undefined)
{
document.getElementById('resultado').innerHTML += "y é == undefined
";
}
else
{
document.getElementById('resultado').innerHTML += "y é != undefined
";
}
if(y === undefined)
{
document.getElementById('resultado').innerHTML += "y é === undefined
";
}
else
{
document.getElementById('resultado').innerHTML += "y é !== undefined
";
}
}
catch(e)
{
alert(e.message);
}
Peguei no stack overflow:
http://stackoverflow.com/questions/7041123/test-if-something-is-undefined-in-javascript
Comentários
Postar um comentário