Possível duplicata:
Detectando uma propriedade de objeto indefinido no JavaScript
javascript undefined compare
Como podemos adicionar uma verificação para uma variável indefinida, como:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
javascript
jquery
undefined
Gaurav
fonte
fonte
Respostas:
A biblioteca JQuery foi desenvolvida especificamente para simplificar e unificar determinadas funcionalidades do JavaScript.
No entanto, se você precisar verificar uma variável em relação ao
undefined
valor, não será necessário inventar nenhum método especial, pois o JavaScript possui umtypeof
operador, que é simples, rápido e multiplataforma:Retorna uma string indicando o tipo da variável ou outro operando não avaliado. A principal vantagem desse método, comparada a
if (value === undefined) { ... }
, é quetypeof
nunca gerará uma exceção caso a variávelvalue
não exista.fonte
("#myId")
, verifique se realmente precisa: a.typeof ("#myId")=== "undefined"
b. Ou:typeof ("#myId").val() === "undefined"
("#myId")
nada mais é do que uma constante de string . Sempre será definido e terá um tipo de"string"
. Se você quer dizer um objeto jQuery real criado com$("#myId")
, ele sempre será definido como"object"
(se você tiver o jQuery vinculado corretamente). A existência de um elemento DOM com IDmyId
pode ser avaliada comif ($("#myId").length > 0) { ... }
, enquanto a verificação se seu valor não está vazio pode ser feitaif ($("#myId").val()) { ... }
. Nenhuma dessas cláusulas realmente se relaciona com o tópico desta pergunta.value === undefined
gerará uma exceção se avalue
variável não existir. Portanto, você decide o que usar na vida real.Nesse caso, você pode usar uma
=== undefined
comparação:if(val === undefined)
Isso funciona porque
val
sempre existe (é um argumento de função).Se você quiser testar uma variável arbitrária que não é um argumento, ou seja, pode não estar definida, você deve usar
if(typeof val === 'undefined')
para evitar uma exceção casoval
não exista.fonte
Observe que typeof sempre retorna uma string e não gera um erro se a variável não existir.
fonte
===
em vez de==
Eu sei que estou atrasado para responder à função, mas o jquery tem uma função de compilação para fazer isso
Consulte o documento da API jquery de jquery.type https://api.jquery.com/jQuery.type/ para o mesmo.
fonte
Você pode usar a técnica de taquigrafia para verificar se é indefinida ou nula
espero que isso ajude você
fonte
fonte
quando estou testando "
typeof obj === undefined
", oalert(typeof obj)
retornoobject
, mesmo que obj seja indefinido. Como obj é o tipo deObject
retornoObject
, nãoundefined
.Então, depois de horas de teste, optei pela técnica abaixo.
Não sei por que a primeira técnica não funcionou, mas concluo meu trabalho usando isso.
fonte
Se você tiver nomes do elemento e não id, podemos obter a verificação indefinida em todos os elementos de texto (por exemplo), como abaixo, e preenchê-los com um valor padrão, digamos 0.0:
fonte
Não tenho certeza de que é a melhor solução, mas funciona bem:
fonte
tente este ~ verificador de todos os tipos
fonte
Você pode usar em dois sentidos 1)
if ( val == null )
2)if ( val === undefine )
fonte