Estou postando esta dica atendendo à dúvida de um internauta. Como criar funções em javascript que recebam parâmetros opcionais? Para isso vamos precisar do operador typeof. O typeof retorna uma string com o tipo de uma variável. Pode retornar "number", "string", "boolean", "object", "function" ou "undefined". Quando uma variável não recebeu valor, seu tipo será undefined.
Assim, suponhamos a seguinte função, que multiplica dois números:
function Teste(x,y){
return x * y
}
Queremos agora tornar o segundo argumento opcional, de modo que, se a função for chamada apenas com o valor de x, ele seja multiplicado por si próprio:
function Teste(x,y){
if(typeof(y)=="undefined")y=x
return x * y
}
Ou, simplificando:
function Teste(x,y){
return x * (typeof(y)!="undefined"?y:x)
}
Assim, se chamarmos:
Teste(3,5)
Teremos 15 como resultado. E se chamarmos:
Teste(3)
O resultado será 9.
O mesmo truque pode ser usado quando você espera um tipo específico de dado ou deseja converter os dados antes de usar. Assim, você pode fazer:
function TrataDados(n){
if(typeof(n)=="number"){
//O tratamento para número.
}
if(typeof(n)=="string"){
//O tratamento para texto.
}
...
}
Esse recurso pode ajudar, e muito, a escrever código reutilizável.