Exercicis de la UT03 - Model d'Objectes Predefinits a JavaScript¶
Objecte Window¶
✏️ Exercici 51. Crea una pàgina HTML amb un botó que obri una nova finestra de 600x400 píxels amb la URL "https://www.wikipedia.org". La finestra ha de tenir el nom "wikipedia". Afegeix un segon botó que tanqui aquesta finestra.
✏️ Exercici 52. Implementa un script que mostri en consola les propietats següents de la finestra actual: innerWidth, innerHeight, outerWidth i outerHeight. Afegeix un botó que actualitzi aquests valors cada vegada que es premi.
✏️ Exercici 53. Crea una pàgina amb tres botons: un que mostri un missatge d'alerta, un altre que mostri una confirmació i un tercer que demani a l'usuari el seu nom amb prompt(). Mostra el resultat de cada interacció a la consola.
✏️ Exercici 54. Implementa un comptador que s'incrementi cada segon utilitzant setInterval(). Afegeix un botó per aturar el comptador amb clearInterval() i un altre per reiniciar-lo.
✏️ Exercici 55. Crea una finestra emergent que es posicioni al centre de la pantalla. Calcula les coordenades necessàries utilitzant les propietats screen.width i screen.height.
Objecte Location¶
✏️ Exercici 56. Crea una pàgina que mostri totes les propietats de l'objecte location en una taula HTML: href, protocol, host, hostname, port, pathname, search i hash.
✏️ Exercici 57. Implementa un formulari amb un camp de text per introduir una URL. Quan es premi un botó, la pàgina ha de navegar a aquesta URL utilitzant location.assign().
✏️ Exercici 58. Crea un botó que recarregui la pàgina actual utilitzant location.reload(). Afegeix un comptador que es guardi en localStorage per saber quantes vegades s'ha recarregat la pàgina.
✏️ Exercici 59. Implementa un script que extregui els paràmetres de la URL utilitzant location.search i els mostri en una llista. Per exemple, si la URL és "pagina.html?nom=Joan&edat=25", ha de mostrar: nom=Joan i edat=25.
✏️ Exercici 60. Crea una pàgina amb diversos enllaços que només canviïn el hash de la URL (per exemple, #seccio1, #seccio2). Implementa un script que detecti quan canvia el hash i mostri un missatge amb el nou valor.
Objecte Navigator¶
✏️ Exercici 61. Crea una pàgina que mostri informació sobre el navegador de l'usuari: appName, appVersion, userAgent, platform i si les cookies estan habilitades (cookieEnabled).
✏️ Exercici 62. Implementa un script que detecti si el navegador té Java habilitat utilitzant navigator.javaEnabled() i mostri un missatge apropriat.
✏️ Exercici 63. Crea un detector de navegador que identifiqui si l'usuari està utilitzant Chrome, Firefox, Safari o Edge basant-te en la propietat userAgent.
✏️ Exercici 64. Implementa una pàgina que mostri la informació de l'idioma del navegador utilitzant navigator.language i navigator.languages.
✏️ Exercici 65. Crea un script que detecti si l'usuari està en un dispositiu mòbil o d'escriptori basant-te en la propietat userAgent.
Objecte Document¶
✏️ Exercici 66. Crea una pàgina HTML amb diversos enllaços i imatges. Implementa un script que mostri el nombre total d'enllaços (document.links.length) i imatges (document.images.length).
✏️ Exercici 67. Implementa un script que canviï el títol del document (document.title) quan l'usuari premi un botó. El nou títol ha de ser introduït per l'usuari amb un prompt().
✏️ Exercici 68. Crea una pàgina que mostri la URL completa del document actual (document.URL) i la URL del document des del qual s'hi va arribar (document.referrer).
✏️ Exercici 69. Implementa un script que utilitzi document.getElementById(), document.getElementsByClassName() i document.getElementsByTagName() per accedir a diferents elements i canviar-ne el contingut.
✏️ Exercici 70. Crea un formulari amb diversos camps. Utilitza document.forms[0] per accedir al formulari i mostra el nombre de camps que conté.
Objecte String¶
✏️ Exercici 71. Crea una funció que rebi una cadena i retorni el nombre de vocals que conté. Utilitza els mètodes toLowerCase() i charAt().
✏️ Exercici 72. Implementa una funció que rebi una cadena i un caràcter, i retorni la posició de totes les ocurrències d'aquest caràcter utilitzant indexOf() en un bucle.
✏️ Exercici 73. Crea una funció que validi si una adreça de correu electrònic conté el símbol "@" i un punt després d'aquest símbol utilitzant indexOf() i lastIndexOf().
✏️ Exercici 74. Implementa una funció que rebi una cadena amb espais i retorni un array amb totes les paraules utilitzant split().
✏️ Exercici 75. Crea una funció que rebi una cadena i la retorni amb la primera lletra de cada paraula en majúscula utilitzant split(), charAt(), toUpperCase() i slice().
Objecte Math¶
✏️ Exercici 76. Crea una funció que generi un número aleatori entre dos valors (mínim i màxim) utilitzant Math.random(), Math.floor() i operacions aritmètiques.
✏️ Exercici 77. Implementa una calculadora de l'àrea d'un cercle que rebi el radi i calculi l'àrea utilitzant Math.PI i Math.pow().
✏️ Exercici 78. Crea una funció que rebi un array de números i retorni el valor màxim i el valor mínim utilitzant Math.max() i Math.min() amb l'operador spread (...).
✏️ Exercici 79. Implementa una funció que calculi la distància entre dos punts en un pla cartesià (x1, y1, x2, y2) utilitzant Math.sqrt() i Math.pow().
✏️ Exercici 80. Crea un script que simuli el llançament d'un dau de 6 cares utilitzant Math.random() i Math.floor(). Afegeix un botó que llanci el dau i mostri el resultat.
Objecte Date¶
✏️ Exercici 81. Crea una pàgina que mostri la data i hora actuals en format llegible. Utilitza getDate(), getMonth(), getFullYear(), getHours(), getMinutes() i getSeconds().
✏️ Exercici 82. Implementa un rellotge digital que s'actualitzi cada segon mostrant l'hora actual. Utilitza setInterval() i l'objecte Date.
✏️ Exercici 83. Crea una funció que calculi quants dies falten per a Cap d'Any. Has de crear dos objectes Date: un amb la data actual i un altre amb el 31 de desembre.
✏️ Exercici 84. Implementa una funció que determini quin dia de la setmana serà una data concreta introduïda per l'usuari. Utilitza getDay() i mostra el nom del dia (dilluns, dimarts, etc.).
✏️ Exercici 85. Crea un script que calculi l'edat d'una persona a partir de la seva data de naixement. L'usuari ha d'introduir dia, mes i any, i el programa ha de calcular els anys que té utilitzant getTime() i conversions de mil·lisegons.