Dúvida numa linha em javascipt

lanr

Power Member
Bom dia =)
Ando a fazer um trabalho para a cadeira de Aplicações WEB e surgiu-me uma dúvida.
Encontrei este código para validar um campo, obrigando o utilizador a introduzir apenas números
Código:
function isNumber(evt)
{
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

A minha dúvida é: o que é que faz realmente esta linha?
Código:
var charCode = (evt.which) ? evt.which : event.keyCode

Percebo que é para gravar o código da tecla que foi pressionada mas não percebo o que faz passo-a-passo. Será que alguém me poderia explicar?

Cumprimentos
 
RESOLVIDO:

Passei a usar este código que assim percebo melhor
Código:
function isNumber(evt)
{
    var nbr=event.keyCode;
    if ((nbr==45) || (nbr>=48 && nbr<=57))
        return true;

    return false;
}

Assim já não me lixo na defesa do trabalho xD

Obrigado
 
Código:
x = (condição) ? valor1 : valor2
é equivalente a
Código:
if(condição)
    x = valor1
else
    x = valor2

pelo que
Código:
var charCode = (evt.which) ? evt.which : event.keyCode
é algo como
Código:
var charCode
if(evt.which) 
    charCode = evt.which 
else
    charCode = event.keyCode
 
Back
Topo