Pergunta

Eu tenho o código que é envolto em bloco try / catch. Eu uso typeof para descobrir se uma variável é definida:

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

No entanto, usando isso em um bloco try / catch, salta para a parte captura em vez de fazer o que é suppoed para fazer (fazer algo com a corda se a sua definido).

Como posso verificar se uma variável é definida sem ativar uma exceção?

Foi útil?

Solução

'var' não é um nome de variável válido. - É uma palavra-chave

Além disso, o que você tem deve ser correta.

Outras dicas

Gostaria de usar uma comparação direta, sem 'typeof':

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

Tenha cuidado, porém, para saber se você quiser verificar para truliness (não falsa, null, indefinido, "" ou 0), contra null, indefinida, falsa ou uma combinação destes.

Se você simplesmente quer ver que o valor tem um valor, o código I colocado acima deve fazer.

Como sugestão, eu encontrei este livro tremenda : JavaScript - as partes boas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top