Foros del Web » Programando para Internet » Javascript »

Definir variables al llamar a la funcion

Estas en el tema de Definir variables al llamar a la funcion en el foro de Javascript en Foros del Web. Hola, estoy haciendo una funcion en la cual quiero definir algunas variables al llamarla. Se que se pueden hacer cosas como: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript ...
  #1 (permalink)  
Antiguo 21/02/2011, 19:01
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Pregunta Definir variables al llamar a la funcion

Hola, estoy haciendo una funcion en la cual quiero definir algunas variables al llamarla. Se que se pueden hacer cosas como:

Código Javascript:
Ver original
  1. function alerta(mensaje,autor){
  2.  
  3. alert(mensaje + ' atentamente: ' + autor);
  4.  
  5. }

Y al llamar a la funcion:

<button onclick="alerta('Bienvenidos','Alejandro');">Mostrar</button>

Pero lo que yo quiero es usar el nombre de la variable para definirla al llamar la funcion, algo asi:

<button onclick="alerta(mensaje:'Bienvenidos',autor:'Alejandro',tie mpo:'5000');">Mostrar</button>

Y con eso se mueste una alerta asi:
Código Javascript:
Ver original
  1. function alerta(){
  2.  
  3. var mensaje = ?;
  4. var autor = ?;
  5. var tiempo = ?;
  6.  
  7. setTimeout("alert(mensaje + ' atentamente: ' + autor);",tiempo);
  8. }

De esa manera se pueden definir las variables sin importar su orden en los parentesis, pero no se de que manera se puede hacer, no necesariamente usando variable:'valor', pero lo mas parecido que se pueda?
  #2 (permalink)  
Antiguo 21/02/2011, 19:25
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Definir variables al llamar a la funcion

utiliza un objeto literal donde tu mismo defines las propiedades.

Código:
function fn(param){
setTimeout(function(){alert(param.author +": "+ param.msg);}, param.time);
}

fn({msg:"hola", author:"mr who", time:500});
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 21/02/2011, 19:52
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Definir variables al llamar a la funcion

Gracias!! eso me fue muy util, pero porque no puedo llamarla desde un boton?

Código HTML:
Ver original
  1. function fn(param){
  2. setTimeout(function(){alert(param.author +": "+ param.msg);}, param.time);
  3. }
  4.  
  5. <button onclick="fn({msg:"hola", author:"mr who", time:500});">boton</button>
  #4 (permalink)  
Antiguo 21/02/2011, 20:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Definir variables al llamar a la funcion

puedes, lo que sucede es que <button> por defecto es de tipo submit. tienes que indicarle el tipo como "button".

@edit, perdona, es que estoy distraido
pense que era ese detalle pero luego analice bien y me fije que no tenia relacion. tienes problema de comilllas entre el atributo y los string de las propiedades.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 21/02/2011 a las 20:17
  #5 (permalink)  
Antiguo 22/02/2011, 16:53
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Definir variables al llamar a la funcion

Es verdad!! fuiste de mucha ayuda muchas gracias!!

Etiquetas: definir, funcion, llamar, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:07.