Domanda

Ho codice che è avvolto nel blocco try / catch. Io uso typeof per scoprire se si definisce una variabile:

if (typeof (var) == 'string') { 
    //the string is defined
}

Tuttavia, utilizzando questo in un blocco try / catch, salta alla parte cattura invece di fare ciò che è suppoed fare (fare qualcosa con la stringa se definito).

Come posso controllare se una variabile è definita senza attivare un'eccezione?

È stato utile?

Soluzione

'var' non è un nome di variabile valido -. Si tratta di una parola chiave

A parte questo, ciò che avete dovrebbe essere corretto.

Altri suggerimenti

Vorrei utilizzare un confronto diretto, senza 'typeof':

var vvv= 2;
alert( vvv !== undefined );

Attenzione, però, per sapere se si desidera verificare la presenza di truliness (non falsa, null, undefined, "" o 0), contro null, undefined, falso o una combinazione di questi.

Se si vuole semplicemente vedere che il valore ha un valore, il codice ho messo sopra dovrebbe fare.

Come suggerimento, ho trovato questo libro tremenda : JavaScript -? le parti buone

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top