Come verificare il valore “non definito” in jQuery

Possibile duplicato:
Rilevazione di una proprietà dell’object non definita in JavaScript
javascript undefined compare

Come possiamo aggiungere un controllo per una variabile non definita, come:

function A(val) { if (val == undefined) // do this else // do this } 

La libreria JQuery è stata sviluppata appositamente per semplificare e unificare determinate funzionalità JavaScript.

Tuttavia, se è necessario controllare una variabile rispetto a un valore undefined , non è necessario inventare alcun metodo speciale, poiché JavaScript ha un operatore typeof , che è semplice, veloce e multipiattaforma:

 if (typeof value === "undefined") { // ... } 

Restituisce una stringa che indica il tipo di variabile o altro operando non valutato. Il vantaggio principale di questo metodo, confrontato con if (value === undefined) { ... } , è che typeof non genererà mai un’eccezione nel caso in cui il value variabile non esista.

In questo caso puoi usare un === undefined confronto === undefined : if(val === undefined)

Questo funziona perché val esiste sempre (è un argomento di funzione).

Se vuoi testare una variabile arbitraria che non è un argomento, cioè potrebbe non essere del tutto definita, dovresti usare if(typeof val === 'undefined') per evitare un’eccezione nel caso in cui val non esistesse .

Si noti che typeof restituisce sempre una stringa e non genera un errore se la variabile non esiste affatto.

 function A(val){ if(typeof(val) === "undefined") //do this else //do this } 

So che sono in ritardo per rispondere alla funzione, ma jQuery ha una funzione di compilazione per farlo

 if(jQuery.type(val) === "undefined"){ //Some code goes here } 

Consultare il documento dell’API jquery di jquery.type https://api.jquery.com/jQuery.type/ per lo stesso.

È ansible utilizzare la tecnica della scorciatoia per verificare se è indefinito o nullo

  function A(val) { if(val || "") //do this else //do this } 

spero che questo ti possa aiutare

 if (value === undefined) { // ... } 

quando sto testando ” typeof obj === undefined “, l’object di alert(typeof obj) , anche se obj non è definito. Poiché obj è il tipo di Object suo Object ritorno, non undefined .

Quindi dopo ore di test ho optato per la tecnica di sotto.

 if(document.getElementById(obj) !== null){ //do... }else{ //do... } 

Non sono sicuro del motivo per cui la prima tecnica non ha funzionato. Ma ho finito il mio lavoro usando questo.

Se hai nomi dell’elemento e non id possiamo ottenere il controllo indefinito su tutti gli elementi di testo (per esempio) come sotto e riempirli con un valore predefinito diciamo 0.0:

 var aFieldsCannotBeNull=['ast_chkacc_bwr','ast_savacc_bwr']; jQuery.each(aFieldsCannotBeNull,function(nShowIndex,sShowKey) { var $_oField = jQuery("input[name='"+sShowKey+"']"); if($_oField.val().trim().length === 0){ $_oField.val('0.0') } }) 

Non sono sicuro che sia la soluzione migliore, ma funziona bene:

 if($someObject['length']!=0){ //do someting } 
 function isValue(value, def, is_return) { if ( $.type(value) == 'null' || $.type(value) == 'undefined' || $.trim(value) == '' || ($.type(value) == 'number' && !$.isNumeric(value)) || ($.type(value) == 'array' && value.length == 0) || ($.type(value) == 'object' && $.isEmptyObject(value)) ) { return ($.type(def) != 'undefined') ? def : false; } else { return ($.type(is_return) == 'boolean' && is_return === true ? value : true); } } 

prova questo ~ tutto il tipo di controllo

Puoi usare due vie 1) if ( val == null ) 2) if ( val === undefine )