Programador PHP freelance

04 Oct, 2008

Pasar parámetros por defecto en Javascript

Posted by: admin In: Desarrollo

Es una lástima pero Javascript, al contrario que otros lenguajes, no permite pasar parámetros por defecto en sus funciones.

Esto tiene solución mediante un pequeño truco en el código.

Imaginad que tenemos esto:

1
2
3
4
function test(arg) {
  arg = arg || 23;
  return arg;
}

Si llamamos a test() sin parametro nos va a devolver 23. Problema resuelto de forma sencilla ;-)

Pero seamos más puristas.

Si por ejemplo la llamamos pasándole el valor NULL nos vamos a encontrar con que también nos devolverá 23 y en algunos casos nos puede interesar manejar el valor NULL de forma diferente

Si quisieramos corregirlo tendríamos que utilizar esto:

function test(arg) {
  arg = (typeof arg == ‘undefined’) ? 23 : arg;
  return arg;
}

Con esta opción si llamamos a test() sin parámetro nos devuelve 23 pero si llamamos a test(null) nos devolvería null con lo que podriamos manejar el caso de forma diferente.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Posts relacionados

4 Responses to "Pasar parámetros por defecto en Javascript"

1 | Malguzt

March 25th, 2009 at 4:13 pm

Avatar

Mil gracias, me salvaste la vida.
La primera opción que toma los nulos y los cambia por el valor por defecto es justo lo que necesitava, así puedo hacer multiples llamados y en cada uno solo cambiar el parametro que quiero.
Ej:
miFuncion(null,null,null,’ValorEspecifico’,null,null);

2 | admin

March 26th, 2009 at 1:19 pm

Avatar

Me alegro Malgutz. Siempre es un placer ;-)

3 | oolivos

June 2nd, 2009 at 12:17 am

Avatar

interesante, puede quitar mas de algun dolor de cabeza

Saludos.

4 | admin

June 4th, 2009 at 12:29 am

Avatar

Tu lo has dicho. Resulta de ayuda en algunos casos ;-)

Comment Form

Categories

Publicidad

About

ProgramadorPHP.es es el blog profesional de Vicent González i Castells, programador freelance especializado en desarrollo de aplicaciones web. vigoncas@aaa.upv.es

CURRÍCULUM

Tags