elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Problema en javascript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema en javascript  (Leído 3,819 veces)
Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Problema en javascript
« en: 11 Febrero 2017, 04:22 am »

Tengo un problema, resulta que tengo que hacer un programa en js que consiste en lo siguiente, si el usuario es menor de 18 entonces no sera bienvenido, si el usuario es mayor de 18 o tiene 18 esbienvenido pero no puede tomar en el bar, si el usuario tiene mas de 21 entonces si puede tomar. mi codigo es este y sospecho que es un error de sintaxis o de logica en cuanto a la hora de comparar la edad:


Código
  1. var edad = prompt("Coloca tu edad");
  2. if (edad >= 18 && < 21){
  3. document.write("Bienvenido, pero no puedes embriagarte");
  4. }
  5. else if(edad == 18 >= 21){
  6. document.write("Puedes embriagarte, Bienvenido");
  7. }  else {
  8. document.write("you are not welcome")}
  9.  


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Problema en javascript
« Respuesta #1 en: 11 Febrero 2017, 04:35 am »

no sabes usar logica de argumentos...

Código
  1. edad >= 18 && < 21


">=" es un operador al igual que "<"... ellos toman ambas partes las comparan y retornan cierto o falso, podrías velos como

Código:
function gte(a,b){
  return a >= b;
}

function lt(a,b){
  return a < b;
}


y en el codigo susituirlo por esa función quedando

Código
  1. if (gte(edad, 18) && lt(, 21)){

quedando algo incoherente no? a lt le falta el primer parametro, 21 no se compara con nadie

ni hablemos de la linea 5


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Re: Problema en javascript
« Respuesta #2 en: 11 Febrero 2017, 06:17 am »

no sabes usar logica de argumentos...

Código
  1. edad >= 18 && < 21


">=" es un operador al igual que "<"... ellos toman ambas partes las comparan y retornan cierto o falso, podrías velos como

Código:
function gte(a,b){
  return a >= b;
}

function lt(a,b){
  return a < b;
}


y en el codigo susituirlo por esa función quedando

Código
  1. if (gte(edad, 18) && lt(, 21)){

quedando algo incoherente no? a lt le falta el primer parametro, 21 no se compara con nadie

ni hablemos de la linea 5


Ósea tendría que ser 
Código
  1. edad >= 18 && edad < 21
??  :-[

No entendí
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Problema en javascript
« Respuesta #3 en: 11 Febrero 2017, 13:32 pm »

Ósea tendría que ser 
Código
  1. edad >= 18 && edad < 21
??  :-[

No entendí

Correcto.
Código
  1. (edad >= 18) && ( ¿_? < 21)

Como en matemáticas.
En línea

Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Re: Problema en javascript
« Respuesta #4 en: 12 Febrero 2017, 06:33 am »

Correcto.
Código
  1. (edad >= 18) && ( ¿_? < 21)

Como en matemáticas.

Código
  1. const usuario = 21;
  2.  
  3. if(usuario == 18){
  4.  document.write("PUEDES ENTRAR AL BAR PERO NO TOMAR");
  5. }
  6. else if (usuario >= 18) && (usuario >= 21){
  7.  document.write("PUEDES TOMAR")
  8. }
  9.  
  10. else{
  11.  document.write("NO ERES BIENVENIDO")
  12. }
  13.  
  14.  


Codepen me muestra un error de sintaxis y no lo entiend bien, tiene que ver con el operador AND
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Problema en javascript
« Respuesta #5 en: 12 Febrero 2017, 13:40 pm »

El if necesita paréntesis.
Lo tienes así:
Código
  1. if (usuario >= 18) && (usuario >= 21)

Y debería estar así:
Código
  1. if( (usuario >= 18) && (usuario >= 21) )

Los paréntesis de dentro, en cualquier caso, no son necesarios (puedes ponerlos si quieres por legibilidad, por supuesto. Pero vamos, que los puse para que vieras cómo se desarrollan esas operaciones.
En línea

Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Re: Problema en javascript
« Respuesta #6 en: 12 Febrero 2017, 16:36 pm »

El if necesita paréntesis.
Lo tienes así:
Código
  1. if (usuario >= 18) && (usuario >= 21)

Y debería estar así:
Código
  1. if( (usuario >= 18) && (usuario >= 21) )

Los paréntesis de dentro, en cualquier caso, no son necesarios (puedes ponerlos si quieres por legibilidad, por supuesto. Pero vamos, que los puse para que vieras cómo se desarrollan esas operaciones.


Muchas gracias, ahora entiendo más
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con PHP y javascript
PHP
llamamecomoquieras 2 2,228 Último mensaje 30 Diciembre 2008, 16:51 pm
por llamamecomoquieras
Problema con javascript
Desarrollo Web
dimitrix 3 2,157 Último mensaje 2 Mayo 2012, 18:20 pm
por dimitrix
problema con javascript
Desarrollo Web
basickdagger 1 1,966 Último mensaje 14 Mayo 2012, 06:51 am
por engel lex
[javascript] Problema
Desarrollo Web
Ori-chan 2 2,640 Último mensaje 19 Diciembre 2012, 07:34 am
por Ori-chan
[javascript] Problema con while.
Desarrollo Web
Ori-chan 6 3,091 Último mensaje 11 Enero 2013, 03:55 am
por ericksav22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines