Bienvenido a la Comunidad de Treehouse

¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.

¿Buscas aprender algo nuevo?

Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de

Inicia tu prueba gratuita

HTML Conceptos Básicos de HTML Avanzando con HTML Vinculación a Secciones de una Página Web

¿Por qué mi aplicación no funciona?

Esto no tiene nada que ver con Vinculación a secciones de una página web.

Estaba haciendo mi propio programa simple donde el usuario adivina un número y la computadora genera un número del rango que el usuario elige, pero por alguna razón, mi código no funciona y el programa no se ejecuta correctamente cuando la adivinanza del usuario y el número generado por la computadora son iguales.

Aquí hay un enlace a una captura de pantalla de mi código: https://w.trhou.se/bmfnwrkj3w

Puedes estar seguro de que no funciona eligiendo que el rango de números sea del 1, y también adivinando el número uno, y la declaración de alerta correcta no aparecerá. ¿Por qué es esto?

2 Respuestas

En tu declaración condicional, tienes un signo de igual triple. En otras palabras, estás verificando si la adivinanza es o no idéntica (igual estricto) al número aleatorio generado. Lo que quieres son dos signos de igual, o verificar si el número aleatorio es igual (igual flexible) a la adivinanza.

Puedes leer la documentación sobre eso aquí.

Pero esencialmente, igual flexible (igual, ==) hará:

realizar una conversión de tipo al comparar dos cosas, y manejará NaN, -0 y +0 especialmente para cumplir con IEEE 754 (por lo que NaN != NaN, y -0 == +0);

Mientras que igual estricto (idéntico, ===):

hará la misma comparación que doble igual (incluyendo el manejo especial para NaN, -0 y +0) pero sin conversión de tipo; si los tipos difieren, se devuelve falso.

Para actualizar userGuess con parseFloat() necesitarías reasignar con: userGuess = parseFloat(userGuess)

userGuess se inicializa como una constante, por lo que no puedes reasignarla.