Ejercicios de práctica de JavaScript
Ejercicios con variables, utilizando consola y alert y prompt
Vamos a trabajar un poco con la consola para ir haciéndonos a ella ya que será nuestra mejor amiga de ahora en adelante.
- Declara una variable llamada nombre en tu consola y asignale tu nombre.
- Declara una variable llamada apellido y asignale como valor tu apellido.
- Muestra por consola las variables nombre y apellido.
Bien, ahora agregemos Javascript a nuestro proyecto web.
- En nuestro archivo HTML vamos a vincular un fichero/archivo que se llame script.js(Este archivo debemos crearlo previamente).
- Recuerda que para vincular el fichero debemos hacerlo con la etiqueta
script
la cual debemos agregarla antes de que cierre la etiquetabody
. - Dentro del archivo script.js, vamos a declarar las variables nombre y apellido que habiamos declarado en la consola. Pero, esta vez deberemos asignarle el método prompt() para que sea el usuario quien introduzca los datos, nombre y apellido.
- Mostrar una alerta de bienvenida a nuestra página con el nombre y el apellido del usuario “Bienvenido a nuestra página (nombre+apellido)”
- Crea 3 variables numero1,numero2 y resultado.
- Pidele al usuario que ingrese los valores de las variables numero1 y numero2 mediante un prompt().
- Asigna a la variable resultado el valor de la suma entre numero1 y numero2.
- Muestra un alerta con el mensaje “El resultado es: (resultado)”.
- Crea 2 variables numero y numerotriple.
- Pidele al usuario que ingrese el valor del numero a calcular mediante un prompt().
- Asigna a la variable numerotriple el valor de la multiplicación por 3 del numero ingresado.
- Muestralo el resultado por consola con el mensaje “El triple de este número es: (xx)”.
Para este ejercicio deberas googlear un poco. Busca en googlee como podemos saber el largo de los datos de una variable en JS.
- Declara una variable que se llame texto y asignale el metodo prompt() para que le puedas solicitar al usuario que ingrese un texto.
- Calcula su largo con lo que investigaste y muestra un alert() que diga “El largo del texto ingresado es: xx
Manipulación de objetos en JavaScript
Crea una ventana emergente que muestre tu nombre, el idioma del navegador y la URL actual de la página.
Ver el ejercicioCrea una página que permita al usuario avanzar o retroceder en el historial utilizando los métodos history.back()
y history.forward()
.
Abre una ventana nueva que muestre el tipo de navegador y la plataforma del sistema operativo.
Ver el ejercicioCrea una página que abra una nueva ventana con la web de tu elección después de 5 segundos.
Ver el ejercicioUtilizando document.write()
dentro de una ventana abierta con open()
, genera una tabla con, al menos, 3 filas y 3 columnas que muestre datos básicos del navegador y la ubicación del usuario.
Ejercicios con operadores de comparación y lógicos
¿Qué devuelve cada expresión?.
Sin probar en la consola, debes adivinar que devolverá cada una de estas expresiones. ¿True o False?
Primera expresión:
let x = 30
let y = "a"
y === "b" || x >= 30
Segunda expresión
let x = 15
let y = 2
!( x == "15" || x === y ) && ! (y !== 2 && x <= y)
Ver el ejercicio
Comparando
- Utiliza la consola para escribir una expresión que compare dos strings y produzca un valor TRUE.
- Escribe una expresión comparando dos strings que devuelva FALSE.
- Escribe una expresión que involucre un string y un número y devuelva FALSE.
- Escribe una expresión que involucre un string y un número y devuelva TRUE
Ejercicios condicionales
Mi primer condicional
- Realizar un algoritmo que pida el nombre de una persona. Si el dato entra vacío, debe pedir nuevamente al usuario que introduzca su nombre (“No ha introducido ningún nombre”).
- Una vez hecho esto, que se despliegue una alerta de bienvenida con el nombre del usuario.
Números pares o impares
- Pedirle al usuario que introduzca 1 numero.
- Comparar si es par o no, a través de un if/else. Si es par que muestre una alerta indicando que el número es par o en caso contrario que muestre una alerta que es impar.
Una entrada para tu película favorita.
Números pares o impares
- Declara una variable que se llame peliculaElegida y asignale el método prompt() para que le puedas solicitar al usuario que ingrese su película favorita de una lista, que tú vas a proporcionar en dicho método.
Importante: para que puedas enlistar las opciones de películas una debajo de otra, necesitaras el carácter especial (\n ), colocar un br para hacer un salto de línea o usar un texto preformateado. Si no te queda muy claro cómo usarlo, deberás googlear para ver un ejemplo. - Evalúa cada uno de los casos con el condicional switch (utilizaremos este método para practicarlo). En el bloque de código de cada case le diremos que “su ticket ha sido emitido”, pero, lo haremos a través del método innerHTML escogiendo el id 'pelicula'.
Adivinando un número
Números pares o impares
- Crea la variable numeroSecreto y hazlo igual a un entero (Tú eliges el número).
- Pregúntale al usuario que adivine el numero en un prompt.
- Si el usuario adivina el numero deberá aparecer un alert diciendo que adivinó el número. (Tienes que hacer la comparación con ( === ) y no te olvides de parsearlo).
- El algoritmo también debe decir, si numeroSecreto es más alto o más bajo del que dijo el usuario.
- Por último, si el usuario no adivina el número, deberá aparecer un mensaje diciendo que se equivocó.
El programa responsable.
Crea un algoritmo utilizando el operador ternario que le pregunte al usuario cuantos tragos ha bebido.
- Si el número de tragos es mayor a cero debe emitir una alerta que diga que no puede conducir.
- Si el usuario indica que no ha tomado nada, entonces decirle que “Nos alegra que seas un conductor responsable”.
Se le pedirá al usuario 2 números para generar la suma, la resta, la división y la multiplicación entre ellos.
- Preguntar al usuario que operación quiere realizar antes de que ingrese los dos números a operar.
- Si el usuario no ingresa ninguna respuesta válida, informarle que no lo es.
Se va a mostrar por consola
- Imprime todos los números entre -20 y 30
- Imprime todos los números pares entre 20 y 60
- Imprime todos los números impares entre 600 y 666
- Imprime todos los números primos entre 1 y 150
Dada la edad de una persona y su género ('F' para mujeres, 'M' para hombres), indicar si está en edad para jubilarse.
Observación: Supongamos que las mujeres se jubilan con 60 años o más. Los hombres se jubilan con 65 años o más. Ejemplo: Si ingresa 60 y 'M', debe mostrar como resultado en pantalla “No se jubila”.
Ver el ejercicioCrear un programa para el ingreso a un sistema. El usuario deberá ingresar una contraseña que deberá coincidir con la que esté guardada en la memoria.
Tiene 3 intentos para acertar: si acierta, se le deberá informar que acertó y que puede ingresar, y dejar de pedírsela, si se equivoca, se le solicitará que la ingrese de nuevo.
Ver el ejercicioSe le pedirá al usuario un número y una vez que lo tengamos se deberá mostrar en consola las tablas de dicho número hasta el 10:
Por ejemplo, si el usuario escribe 5 se deberá generar lo siguiente:
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
...........
5 x 10 = 50
Ver el ejercicioEjercicios con Arrays
Ensalada de frutas
- Declara un array llamado ensaladaDeFrutas.
- Usa un bucle For y muestra cada ítem de ensaladaDeFrutas en la consola, con el siguiente mensaje: “Las frutas que hay en la ensalada son:”
Encontrar el índice de un elemento del Array
- Crea un array que se llame toDoList con al menos 5 tareas para hacer.
- A través del método indexOf() encontrar el indice de una de las 5 tareas especificadas en el array.
- Borrar el item del array toDoList, que ha sido devuelto por el método indexOf().
Promedio de edad
- Crear un array edades con al menos 8 edades distintas.
- Recorrer el array y obtener el promedio de las edades del array.
- Crea un array vacio que se llame listaDeSuper.
- Piensa como le puedes pedir al usuario para que ingrese al menos 5 productos para llenar la lista de super.
- Muestra por la consola los productos introducidos por el usuario.
- Declara un array nombres con al menos 6 nombres.
- Obtén el nombre más largo del array nombres. Tener en cuenta que los "Strings" son listas de caracteres y que las listas tienen un largo (length) que indica su tamaño.
Ejercicios con Funciones
Declara una función llamada saludo() que muestre una alerta de Bienvenida al visitante al invocarla por la consola.
Ver el ejercicio- Declara una función que se llama calculoMayor() y pasale como parámetros (num1,num2)
- Dentro de la función muestra una alerta por consola que diga cuál de los números ingresados es mayor. En caso de ser iguales, tendrá que indicarlo a través de consola también.
- Invoca la función y llena los argumentos con los números que desees.
- Crear una función que se llame facturacion() .
- La función tiene que recibir como parámetro el precio de un producto , y el medio de pago : C (tarjeta de crédito), E (efectivo) y D (tarjeta de débito). Si el precio del producto es menor a €200 no se aplicará ningún descuento. Si el precio a abonar es entre €200 y $400 se aplicará un descuento del 30% si el medio de pago es efectivo, 20% si se realiza con débito y 10% con tarjeta de crédito. Para precios mayores a $400, el descuento es 40% sin importar el medio de pago.
- La función deberá retornar el precio final a abonar.
- Crea una función IterarArray() y pasale el parámetro array.
- Programa dentro de la función la iteración/recorrido de un array y muéstralo por consola.
- Invoca la función IterarArray() y pasale como argumento 3 arrays distintos.
Ejercicios con Eventos y manipulación del DOM
Lanzamientos de dados
Vamos a practicar como programar un evento, en esta ocasión haremos uso del más simple de ellos; el evento click.
- En el archivo HTML crea un botón con el texto tirar dados. Define el atributo onclick="tirarDados()" al botón.
- En el archivo JS declara una función tirarDados(). Esta se ejecutara cada vez que se haga click en el botón tirar dados.
- Programa dentro del bloque de la función, el lanzamiento aleatorio a través de un math.ramdom (pregúntale a Google como funciona).
- Crea un botón en HTML qué diga "clickeame"
- Crea una función contadorDeClick() y programa que cada vez que se haga click se muestre por la consola el conteo de las veces que se ha realizado click en el botón.
Mis primeros pasos en Manipulación del DOM.
- Abre https://practica-manipulacion-del-dom.netlify.app/ para practicar
- Mira el textContent del h1 en la consola.
- Dale al textContent del h1 un nuevo string que diga “Estoy agregando un nuevo texto”.
- Elige el primer elemento p y agrégale el siguiente código html en su interior con la etiqueta span : Estoy aprendiendo a manipular el DOM
- Mira por la consola el innerHTML del segundo ul
Nivel junior
Spoiler alert: Sigue las instrucciones paso a paso. No te adelantes, de lo contrario correrás el riesgo de no encontrar la solución o que se te dificulte las mismas.
- Crea un botón en HTML y coloca como texto Activar. Luego en tu archivo CSS dale un background-color: red; al botón.
- Agrega al botón los siguientes eventos en JS: click, mouseenter, mouseleave. (Recuerda obtener el elemento para luego manipularlo con cada uno de los eventos que tienes que crear).
- En las funciones vinculadas al evento programa lo siguiente.
- Evento click : Programa que cuando se haga click, el texto del botón, se cambie por el string “Desactivado”.
- Evento mouseenter : Cuando entre el cursor al botón, este cambie de color a verde.
- Evento mouseleave : Cuando se salga el cursor del botón, que vuelva al color que predeterminamos en CSS
- Crea 3 campos(input) en HTML, Usuario,Nombre, email. (No olvides darle un id a cada uno de los campos creados)
- En JS, obtén cada uno de los elementos input que creaste, mediante el método querySelector().
- Manipula los elementos para obtener su valor con la propiedad JS value y muestra esos datos al Usuario con un alert que le diga:
“Estos fueron los datos ingresados
Usuario: Pepito123
Nombre: Pepito lavalle
Mail: pepito12@gmail.com”
Ejercicio experto!!!
- Crea una función en JavaScript llamada actReloj() para mostrar la hora actual en formato HH:MM:SS.
- Usa el objeto
Date()
para obtener las horas, minutos y segundos. Asegúrate de que el formato tenga dos dígitos (ej. 08:05:09). - Construye una cadena HTML con el formato de la hora y actualízala en un
div
con el id reloj usandoinnerHTML
. - Configura un temporizador para llamar a la función cada segundo (1000ms) con
setInterval()
. - Asegúrate de que el reloj se inicie cuando la página cargue, usando el evento
onload
.
Ejercicios con Objetos y manipulación del DOM
Crea un objeto con el nombre toDoList debería tener las siguientes propiedades y valores:
- tipo de tarea: un string que diga "Compras" (ojo con los espacios en el nombre de la propiedad tienes que poner entre comillas si tiene espacios)
- dia: un string que indique el día a realizar la tarea.
- productos: un array con los nombres de los productos.
- cantidad de productos: un número que indica la cantidad de productos de las compras. (Recuerda los espacios en el nombre de la propiedad)
- estado: "pendiente"
- notificacion: un método(una función) que haga una alerta con el siguiente mensaje "Esta tarea tiene una prioridad urgente!".
Ahora desde la consola extrae estos valores de las siguientes formas:
- El dia de la compra usando dot notation.
- El tipo de tarea usando bracket notation.
- Extrae la cantidad de productos usando bracket notation.
- Ejecuta el método (función) de la propiedad notificación (tienes que extraerlo del objeto y recuerda que es una función).
Muchas veces vamos a tener estructuras más complejas de objetos y nosotros vamos a tener que acordarnos de todos los conceptos que hemos vimos hasta ahora.
Copia y pega esto en tu archivo JS
const superHeroes ={
"squadName" : "Super Hero Squad", "homeTown" : "Metro City", "formed" : 2016,
"secretBase" : "Super tower", "active" : true,
"members" : [
{
"name" : "Molecule Man", "age" : 29,
"secretIdentity" : "Dan Jukes", "powers" : [
"Radiation resistance", "Turning tiny", "Radiation blast"
]
},
{
"name" : "Madame Uppercut", "age" : 39,
"secretIdentity" : "Jane Wilson", "powers" : [
"Million tonne punch", "Damage resistance", "Superhuman reflexes"
]
}
]
}
Consultemos por consola los siguientes valores:
- Consulta el valor ("Super Hero Squad") de la propiedad squadName.
- Consulta el valor que dice "Madame Uppercut" (ayuda: 3. objeto- propiedad-arreglo-propiedad).
- Consulta el valor que dice "Superhuman reflexes".
- Consulta el valor "39" de la propiedad age de Madame Uppercut.
Proximamente más ejercicios...