Foros del Web » Programando para Internet » Javascript »

Experimentando con javascript

Estas en el tema de Experimentando con javascript en el foro de Javascript en Foros del Web. hola amigos, estuve viendo haber que tal estaba javascript e hice un "programilla" para experimentar un poco... se supone que debe aceptar "si y "no" ...
  #1 (permalink)  
Antiguo 23/06/2011, 18:43
Avatar de Aaronus23  
Fecha de Ingreso: diciembre-2010
Ubicación: https://home
Mensajes: 81
Antigüedad: 13 años, 4 meses
Puntos: 4
Experimentando con javascript

hola amigos, estuve viendo haber que tal estaba javascript e hice un "programilla" para experimentar un poco...

se supone que debe aceptar "si y "no" y para cualquier otra respuesta debe aparecer un alert y despues volver a la pregunta y la unica manera que se me ocurrio de hacer esto fue con funciones recursivas.... pero estoy 100% seguro que hay una manera mas sencilla de hacerlo... alguna ayudita?


Código Javascript:
Ver original
  1. function obtener_nombre() {
  2.  var nombre=prompt("Hola! Dame tu nombre porfavor");
  3. function jugos() {
  4.  var respuesta=prompt("Te gustan los jugos " + nombre +"?");
  5.  if (respuesta=="si") {
  6.      alert("Lo Sabia!");
  7.  }
  8.  else if(respuesta=="no") {
  9.      alert("Estas mintiendo!");
  10.  }
  11.  else {
  12.      alert("Contesta, NECESITO SABERLO");
  13.      jugos();
  14.  }
  15.  }
  16.  jugos();
  17.  }
  #2 (permalink)  
Antiguo 23/06/2011, 20:20
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Experimentando con javascript

Código Javascript:
Ver original
  1. function obtener_nombre(){
  2.     var nombre = prompt("Hola! Dame tu nombre porfavor")
  3.      while(true){
  4.          respuesta = prompt("Te gustan los jugos " + nombre +"?")
  5.          switch(respuesta.toLowerCase()){
  6.              case "si": alert("Lo sabia");return
  7.              case "no": alert("Estas Mintiendo");return
  8.              default:   alert("Contesta SI o NO!")           
  9.          }
  10.      }
  11. }

Mas corto... aunque para un novato no es "mas sencillo".

Última edición por InKarC; 23/06/2011 a las 20:31
  #3 (permalink)  
Antiguo 25/06/2011, 13:31
Avatar de Aaronus23  
Fecha de Ingreso: diciembre-2010
Ubicación: https://home
Mensajes: 81
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: Experimentando con javascript

Claro claro!

muchas gracias!
  #4 (permalink)  
Antiguo 25/06/2011, 14:07
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Experimentando con javascript

Yo lo hubiera hecho así:
Código Javascript:
Ver original
  1. function obtener_nombre(){
  2.  var nombre = prompt("Hola! Dame tu nombre porfavor"), respuesta = prompt("Te gustan los jugos " + nombre +"?");
  3.  while(respuesta != 'si' && respuesta != 'no'){
  4.   alert("Contesta, NECESITO SABERLO");
  5.   respuesta = prompt("Te gustan los jugos " + nombre +"?");
  6.  }
  7.  alert(respuesta == 'si' ? 'Lo sabía' : 'Estás mintiendo!');
  8. }
Simplemente por dar más punto de vista.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 25/06/2011, 19:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Experimentando con javascript

Repetir en 2 partes exactamente el mismo codigo no es considerado buena practica en la programación. A mi parecer debería tener estas modificaciones:

Código Javascript:
Ver original
  1. function obtener_nombre(){
  2. var pregunta = function(){return prompt("Te gustan los jugos " + nombre +"?");}
  3.  var nombre = prompt("Hola! Dame tu nombre porfavor"), respuesta = pregunta()
  4.  while(respuesta != 'si' && respuesta != 'no'){
  5.   alert("Contesta, NECESITO SABERLO");
  6.   respuesta = respuesta()
  7.  }
  8.  alert(respuesta == 'si' ? 'Lo sabía' : 'Estás mintiendo!');
  9. }

Etiquetas: Ninguno
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 15:58.