wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

CX9 - (03 - 09 - 2025)

Total questions: 70

Worksheet time: 1hrs 5mins

Name
Class
Date
1.

¿Cuál de estas etiquetas es semánticamente correcta para encerrar el contenido principal de una página web?

a)

<div id="main">

b)

<main>

c)

<section>

d)

<article>

2.

¿Cuál es la diferencia entre id y class en HTML?

a)

id se usa muchas veces y class solo una vez

b)

id es único en la página y class se puede repetir

c)

No hay diferencia, son lo mismo

d)

id solo funciona en CSS y class en JS

3.

Si quieres que un contenedor sea flexible y sus hijos se acomoden horizontalmente, ¿qué propiedad usas?

a)

display: flex;

b)

display: grid;

c)

position: absolute;

d)

float: left;

4.

¿Qué selector en CSS selecciona a todos los elementos

que están dentro de un

div?

a)

div + p

b)

div p

c)

p div

d)

div > p

5.

¿Cuál es la diferencia entre relative y absolute en CSS positioning?

a)

absolute siempre se mueve respecto al body, relative no

b)

absolute se mueve respecto al ancestro posicionado, relative respecto a su posición original

c)

No hay diferencia

d)

relative elimina al elemento del flujo del documento

6.

¿Cuál propiedad de CSS cambia la prioridad de superposición de elementos?

a)

position

b)

layer

c)

z-index

d)

stack

7.

Si un archivo CSS no se carga, ¿cuál podría ser la causa más común?

a)

No se declaró <style> en html

b)

Error en la ruta del archivo en <link>

c)

Se usó un color inválido

d)

Falta un alt en una imagen

8.

Explica con tus palabras por qué es mejor usar etiquetas semánticas en HTML que solo divs para todo.

4 lines
9.

Si aplicas display: none; a un elemento, ¿qué sucede?

a)

El elemento se oculta pero sigue ocupando espacio

b)

El elemento desaparece visualmente y no ocupa espacio

c)

El elemento se vuelve transparente pero sigue en el flujo

d)

Se elimina del DOM por completo

10.

¿Cuál es la etiqueta HTML correcta para crear un enlace?

a)

<a>

b)

<link>

c)

<href>

d)

<url>

11.

¿Qué atributo de la etiqueta <img> se recomienda siempre por accesibilidad y SEO?

a)

srcset

b)

alt

c)

title

d)

id

12.

Si defines un color en CSS con rgba(255, 0, 0, 0.5), ¿qué representa el último valor (0.5)?

a)

Saturación

b)

Brillo

c)

Transparencia/Opacidad

d)

Contraste

13.

¿Cuál es la forma correcta de aplicar varias clases a un mismo elemento en HTML?

a)

<div class="caja1+caja2">

b)

<div class="caja1 caja2"

c)

<div class="caja1, caja2">

d)

<div class="caja1; caja2">

14.

En CSS, ¿qué significa la regla box-sizing: border-box;?

a)

El padding y el border se incluyen dentro del ancho y alto total del elemento

b)

El padding y el border se suman al ancho y alto total del elemento

c)

Se eliminan el padding y el border

d)

Se aplica un box-shadow automático

15.

Explica en tus palabras la diferencia entre display: flex y display: grid.

4 lines
16.

¿Cuál es la propiedad principal que activa el modo Grid en un contenedor?

4 lines
17.

¿Cuál es la propiedad principal que activa el modo Grid en un contenedor?

a)

display: flex;

b)

display: grid;

c)

grid-template;

d)

align-grid;

18.

¿Qué propiedad define la cantidad de columnas en un Grid?

a)

grid-template-columns

b)

grid-columns

c)

columns-template

d)

grid-repeat

19.

¿Cuál es el valor correcto para crear 3 columnas iguales usando grid-template-columns?

a)

grid-template-columns: auto auto auto;

b)

grid-template-columns: 3fr;

c)

grid-template-columns: repeat(3, 1fr);

d)

grid-template-columns: 100px 100px 100px;

20.

La propiedad grid-gap (o gap) se utiliza para:

a)

Crear un borde alrededor del grid

b)

Definir el espacio entre filas y columnas

c)

Ajustar la alineación del grid

d)

Establecer márgenes automáticos

21.

¿Qué propiedad se usa para colocar un elemento en una columna específica?

a)

grid-column

b)

column-span

c)

grid-area

d)

grid-align

22.

¿Qué significa grid-column: 1 / 3;?

a)

Que el elemento se coloca en la columna 3

b)

Que ocupa desde la columna 1 hasta antes de la 3

c)

Que ocupa únicamente la columna 2

d)

Que el elemento tiene ancho automático

23.

¿Cuál es la diferencia entre align-items y justify-items en un grid?

a)

align-items es horizontal y justify-items es vertical

b)

align-items es vertical y justify-items es horizontal

c)

Ambas hacen lo mismo

d)

Ninguna de las anteriores

24.

¿Cuál de estos métodos sí muta el array original?

a)

map

b)

filter

c)

slice

d)

splice

25.

¿Qué imprime el siguiente código? const arr = [1, 2, 3]; const len = arr.push(4); console.log(arr, len);

a)

[1, 2, 3] 3

b)

[1, 2, 3, 4] 4

c)

[1, 2, 3, 4] 5

d)

[1, 2, 3] 4

26.

¿Cuál es la diferencia correcta entre forEach y map?

a)

forEach retorna un nuevo array; map no retorna nada

b)

Ambos mutan el array original

c)

map retorna un nuevo array; forEach retorna undefined

d)

forEach es más rápido y por eso siempre se usa

27.

Resultado de: [1, 2, 3, 4, 5].filter(n => n % 2 != 0).length

a)

5

b)

2

c)

3

d)

0

28.

¿Qué imprime?

function saludo(nombre = "Anónimo") {

return `Hola, ${nombre}`;

}

console.log(saludo());

a)

Hola,

b)

Hola, null

c)

Hola, undefined

d)

Hola, Anónimo

29.

¿Qué hace el siguiente switch?

const x = 2;

switch (x) {

case 1:

case 2:

console.log("A");

break;

default:

console.log("B");

}

a)

Imprime "B"

b)

No imprime nada

c)

Imprime "A"

d)

Lanza error

30.

¿Cuál método verifica si al menos un elemento cumple una condición?

a)

every

b)

some

c)

includes

d)

findIndex

31.

¿Cuál de los siguientes devuelve un solo elemento (o undefined) en lugar de un array?

a)

filter

b)

map

c)

find

d)

slice

32.

¿Cómo se separan los elementos de un array cuando se convierten a una cadena con el método join() en JavaScript?

a)

Se separan con un punto y coma ; por defecto

b)

Se separan con una coma , por defecto

c)

Se separan con un espacio en blanco " " por defecto

d)

No se pueden separar

33.

Si tienes el array let numeros = [10, 20, 30, 40]; ¿cómo accedes al elemento 30?

a)

numeros[3]

b)

numeros[2]

c)

numeros[30]

d)

numeros.get(2)

34.

¿Cuál de las siguientes opciones crea correctamente una clase en JavaScript?

a)

class Persona { constructor(nombre) { this.nombre = nombre; } }

b)

function class Persona(nombre) { this.nombre = nombre; }

c)

persona = class { nombre = nombre; }

d)

createClass Persona { constructor(nombre) { this.nombre = nombre; } }

35.

¿Qué palabra clave se usa para crear una nueva instancia de una clase?

a)

instance

b)

new

c)

create

d)

class

36.

En JavaScript, ¿cómo se implementa la herencia entre clases?

a)

Con la palabra clave extends

b)

Con la palabra clave inherit

c)

Con la función superclass()

d)

No se puede hacer herencia en JavaScript

37.

¿Qué devolverá miPerro.hablar()?

a)

"Hace un sonido"

b)

"Guau!"

c)

"Firulais"

d)

undefined

38.

¿Cuál es una buena práctica al trabajar con clases en JavaScript?

a)

Usar siempre variables globales dentro de la clase

b)

Definir métodos dentro del constructor para ahorrar espacio

c)

Usar camelCase en métodos y PascalCase en nombres de clases

d)

No usar constructores, todo se puede hacer con funciones sueltas

39.

En JavaScript, ¿qué es un objeto?

a)

Una función que siempre devuelve números

b)

Una colección de pares clave-valor

c)

Una variable que solo almacena strings

d)

Una estructura idéntica a un array

40.

¿Qué es una clase en JavaScript?

a)

Un método especial para crear arrays

b)

Una plantilla para crear objetos con propiedades y métodos

c)

Un tipo de dato primitivo

d)

Una función que no puede heredarse

41.

¿Qué significa herencia en Programación Orientada a Objetos?

a)

Copiar código de un archivo a otro

b)

Crear un nuevo objeto que toma propiedades y métodos de otro

c)

Guardar variables en la memoria

d)

Repetir métodos sin optimización

42.

¿Qué es una instancia de una clase en JavaScript?

a)

Una variable que guarda funciones globales

b)

Un objeto creado a partir de una clase

c)

Una copia idéntica de una clase

d)

Una función que no devuelve nada

43.

¿Cuál de estas opciones es una buena práctica al trabajar con POO en JavaScript?

a)

Usar nombres de variables confusos para proteger el código

b)

Evitar herencia y solo usar funciones anónimas

c)

Aplicar encapsulación y reutilización de código

d)

Definir todas las propiedades en variables globales

44.

¿Qué representa la palabra clave this dentro de un método de una clase en JavaScript?

a)

Una referencia a la clase misma

b)

Una referencia al objeto actual que llama al método

c)

Una variable global del navegador

d)

El prototipo del objeto

45.

Cuales son los principales conceptos de la POO?

4 lines
46.

¿Cuál es el tipo de datos que localStorage puede almacenar directamente sin transformar nada?

a)

Objetos completos

b)

Strings (cadenas de texto)

c)

Arrays

d)

Funciones

47.

Tienes el objeto: let user = { nombre: "Ana", edad: 25 }; Si quieres guardarlo en localStorage, ¿qué debes hacer primero?

a)

Guardarlo directo con localStorage.setItem("user", user)

b)

Convertirlo en cadena con JSON.stringify(user)

c)

Crear un array con los datos y guardarlo

d)

Usar parseInt(user)

48.

¿Qué devuelve este código? localStorage.setItem("num", 50); console.log(localStorage.getItem("num") + 5);

a)

55

b)

"505"

c)

undefined

d)

null

49.

Si tienes esto en el localStorage: {"nombre":"Carlos","activo":true} ¿Cómo lo obtienes como objeto en JS?

a)

localStorage.getItem("user")

b)

JSON.parse(localStorage.getItem("user"))

c)

JSON.stringify(localStorage.getItem("user"))

d)

localStorage.user

50.

El método localStorage.clear() sirve para:

a)

Eliminar solo una clave específica

b)

Eliminar todo el almacenamiento local del dominio

c)

Resetear la página

d)

Guardar datos vacíos

51.

¿Qué pasaría si intentas guardar una función con localStorage.setItem("fn", JSON.stringify(miFuncion))?

a)

Se guarda normal y luego se puede ejecutar

b)

Devuelve error y rompe el navegador

c)

Se guarda como undefined o simplemente no guarda la función

d)

Se guarda como string con el código de la función

52.

Buenas prácticas: ¿Qué deberías hacer al guardar datos sensibles como contraseñas en localStorage?

a)

Guardarlas tal cual, que pa’ qué complicarse

b)

Usar JSON.stringify(password) y ya

c)

Evitar guardarlas en localStorage y mejor usar mecanismos seguros (cookies con HttpOnly, JWT en memoria, etc.)

d)

Guardarlas encriptadas en localStorage

53.

Si tienes una lista de tareas en un array, ¿cuál sería el flujo correcto para guardarlas en localStorage?

a)

Guardar el array tal cual → Recuperar tal cual

b)

JSON.stringify(array) al guardar → JSON.parse(item) al recuperar

c)

Guardar el array como texto manualmente → dividir con .split() al recuperar

d)

No se puede guardar arrays en localStorage

54.

¿Cuál es la diferencia entre sessionStorage y localStorage?

a)

Ninguna, son lo mismo

b)

localStorage guarda datos solo durante la sesión, sessionStorage para siempre

c)

localStorage guarda datos de forma persistente, sessionStorage solo mientras la pestaña esté abierta

d)

sessionStorage no soporta JSON

55.

¿Cuál de las siguientes NO es una forma de seleccionar elementos en el DOM?

a)

document.querySelector()

b)

document.getElementById()

c)

document.innerHTML()

d)

document.querySelectorAll()

56.

Si quieres crear un nuevo <li>

  • desde JavaScript y añadirlo a una lista <ul>

    • , ¿qué método debes usar después de createElement("li")?

a)

appendChild()

b)

push()

c)

addElement()

d)

insertNode()

57.

¿Qué propiedad del DOM te permite modificar directamente el texto dentro de un elemento?

a)

innerText

b)

nodeType

c)

style

d)

classList

58.

Tienes este botón: <button id="btn">Click aquí</button> ¿Cuál es la forma correcta de escuchar el evento click en JavaScript?

a)

btn.add("click", function(){})

b)

btn.event("click", ()=>{})

c)

btn.addEventListener("click", ()=>{})

d)

onClick(btn, ()=>{})

59.

Imagina que quieres guardar el puntaje de un jugador en localStorage y que siempre incremente en +10 al ganar. ¿Cuál sería la mejor lógica?

a)

Guardar siempre el número 10.

b)

Recuperar el puntaje, convertirlo a número, sumarle 10 y volver a guardarlo.

c)

Usar Math.random() y confiar en la suerte.

d)

Guardarlo en un array y olvidarte de él.

60.

Quieres mostrar en pantalla un mensaje de bienvenida dinámico con el nombre de un usuario almacenado en localStorage. ¿Qué harías?

a)

alert(localStorage)

b)

Recuperar con getItem("nombre") y ponerlo en un elemento con innerText.

c)

Pedir siempre al usuario que lo escriba de nuevo.

d)

No se puede hacer.

61.

Si tienes un array de objetos con productos y quieres mostrarlos en una lista HTML, ¿cuál sería un buen enfoque?

a)

Usar un forEach para crear nodos <li>

  • y agregarlos al DOM.

b)

Copiar el array en el portapapeles y pegarlo en el HTML.

c)

Usar JSON.stringify para convertir el array a un string y mostrarlo como texto plano.

d)

Guardar todo en un alert().

62.

Estás diseñando una app que guarda el tema de color (oscuro o claro) elegido por el usuario. ¿Cuál es la mejor práctica?

a)

Guardarlo en localStorage y aplicarlo al cargar la página.

b)

Preguntar siempre al usuario qué tema quiere al entrar.

c)

Escribirlo en un console.log y esperar que se acuerde.

d)

No hacer nada, el usuario que aguante.

63.

Buenas prácticas: ¿Deberías guardar datos sensibles como contraseñas en localStorage?

4 lines
64.

Escribe una función ultimo(arr) que reciba y retorne el último elemento de un array o null si está vacío.

4 lines
65.

Escribe una función contarNumeros(arr) que reciba un array de números y retorne cuántos números hay.

4 lines
66.

¿Cuál es la diferencia entre gap, row-gap y column-gap en CSS Grid?

4 lines
67.

Escribe un ejemplo de un grid con 2 filas de 150px y 3 columnas iguales usando repeat.

4 lines
68.

¿Cuál es la utilidad de grid-template-areas en un diseño con Grid?

4 lines
69.

Crea un ejemplo de grid donde los ítems estén centrados tanto horizontal como verticalmente.

4 lines
70.

Dado un array de objetos usuarios con { nombre, edad }, escribe una función que retorne un array solo con los nombres de los usuarios mayores o iguales a 18.

ayuda?: filtra los mayores y luego devuelve solo sus nombres

4 lines