JavaScript Desde Cero

100% encontró este documento útil (3 votos)
450 vistas587 páginas
Resumen de la descarga de la pagina web aprender a programar, es muy interesante

Cargado por

Miguel
- APPENDER apr OGRAMARE ar TUTORIAL BASICO DEL PROGRAMADOR WEB: JAVASCRIPT DESDE CERO. Objetivos JavaScript (JS) es un lenguaje de programacién cuyo uso principal ha venido siendo dotar de dinamismo, rapidez y efectos atractivos a las paginas web, mediante su uso combinado junto a HTML, CSS y otros lenguajes. Este curso permite aprender los fundamentos de JavaScript, imprescindible para trabajar con paginas web hoy dia. Destinatarios Personas que ya tengan unos conocimientos minimos sobre creacién de paginas web (HTML y CSS) y sobre programacién. Para realizar este curso de JavaScript, debes tener conocimientos previos de HTML y CSS, asi como de fundamentos de programacién (haber programado antes). Se recomienda haber realizado los cursos “Tutorial basico del programador web” sobre HTML desde cero y CSS desde cero, de [Link], antes de seguir este curso. Contenidos Y_INTRODUCCION A JAVASCRIPT. QUE ES Y PARA QUE SIRVE JAVASCRIPT. VERSIONES. EL ECMA. Y_ INSERTAR JAVASCRIPT EN WEBS. EN LINEA, INTERNO Y EXTERNO. Y_ CREANDO SCRIPTS BASICOS. COMENTARIOS, VARIABLES, OPERADORES, CONTROL DEL FLUJO. Y_ FUNCIONES JAVASCRIPT. CREACION E INVOCACION. PARAMETROS Y RETORNO. Y OBJETOS EN JAVASCRIPT. QUE SON? TRABAJAR CON ARRAYS, DATE, IMAGE, STRING, MATH. ¥ DOM. JERARQUIA DE OBJETOS DEL NAVEGADOR. WINDOW, DOCUMENT. Y_ GESTION DE EVENTOS CON JAVASCRIPT. TIPOS DE EVENTOS. MANEJADORES DE EVENTOS. Y APLICANDO JAVASCRIPT: CSS, FORMULARIOS, CALENDARIOS, RELOJES, MENUS, GALERIAS. ¥_ JAVASCRIPT AVANZADO. APIS, LIBRERIAS. JQUERY. FIREBUG Y DEPURACION DE CODIGO. 150 horas de dedicacién efectiva, incluyendo lecturas, estudio y ejercicios. Direccién, modalidades y certificados El curso esté dirigido por César Krall, Responsable del Departamento de Produccién de [Link] del portal web [Link]. Se oferta bajo la modalidad web (gratuito). ON a) eae elcL A eel) Seccion: Cursos Categoria: Tutorial basico del programador web: JavaScript desde cero Fecha revisién: 2029 Resumen: Entrega n21 del curso Tutorial basico del programador web JavaScript desde cero. Indice del curso Autor: César Krall Indice curso “Tutorial bésico programador web: JavaScript desde cero’. “SAP ENDER APP OGRAMARE aL 12. 13. 14. 1s. 16. a7. 18. 19. 24. 2.2 23. 3a. 32. 33, 3.4, INDICE DEL CURSO INTRODUCCION A JAVASCRIPT. QUE ES Y PARA QUE SIRVE. VERSIONES JAVASCRIPT. EL ECMA. Qué es JavaScript? HTML, CSS y bases de programacién, conocimiento previo necesario, Es JavaScript un lenguaje de programacién? éPara qué sirve? Diferencias de HTML, CSS, PHP, Diferencias entre JavaScript, CSS, HTML. Frontera entre JavaScript, CSS, HTML y programacién. JavaScript del lado del cliente y JavaScript del lado del servidor. Node,js. JavaScript en aplicaciones web Joomla, WordPress, Drupal, phpBB... Efectos. Empezar a usar JavaScript a partir de un documento HTML con estructura basica. Versiones JavaScript. Algo de historia y perspectiva. Qué es el ECMA? Guias oficiales, Documentacién especificacién oficial JavaScript. Alternativas a JavaScript. Qué necesito para escribir cédigo JavaScript y crear paginas web? INSERTAR JAVASCRIPT. ESTILOS EN LINEA, INTERNO Y EXTERNO. TIPOS DE ELEMENTOS. De la estructura HTML y modelo de cajas CSS a JavaScript. Scripts en linea, interno y externo. Archivos JS. Comentarios javaScript. CREANDO SCRIPTS BASICOS. Variables y tipos de variables. Nimeros. Texto. Valores booleanos. Null y undefined. Ambito de variables. Conversién de tipas. Operadores légicos, aritméticos y relacionales. Expresiones de asignacién y de evaluacién. Condicionales con JavaScript. Bucles con JavaScript. Control de flujo con break y continue. FUNCIONES JAVASCRIPT. Definir funciones. Invocar funciones. Argumentos y pardmetros para funciones, OBJETOS EN JAVASCRIPT. Qué es un objeto? Crear objetos. Consultar y establecer propiedades de objetos. Borrar propiedades de objetos. Verificar propiedades. Enumerar propiedades. Atributos y métodos. Arrays. Crear arrays. Leer y escribir elementos de arrays. Propiedad length. [Mas informacién: contacto@[Link] co protameder web: Insert desde co", SBP ENDER APP: OGRAMARS Indice curso “Tutor 5.5. Afiadir y borrar elementos de arrays 5.6. Arrays unidimensionales y arrays multidimensionales. Recorrido de arrays. 5.7. Métodos de arrays. Comprobar si un objeto es tipo array. 5.8. Laclase Date. Trabajar con fechas en JavaScript. 5.9. Trabajar con imagenes en JavaScript. 5.10. La clase Math JavaScript. Trabajar con funciones matematicas. 6. DOMYJERARQUIA DE OBJETOS. 6.1. EQuées el DOM? Jerarquia de objetos en paginas web. 6.2, Del documento HTML a un érbol de nodos. Tipos de nodos. 6.3. Seleccidn de elementos en un documento. Atributos y contenido de elementos. 6.4. Crear, insertar y borrar nodos con JavaScript. 65. _Elobjeto Window. Manejo del tiempo (timers). Trabajo con multiples ventanas y marcos. 6.6. Document. Elementos de document como propiedades de Window. 7. GESTION DE EVENTOS CON JAVASCRIPT. 7.1. Tipos de eventos. Manejadores de eventos o event handlers. 7.2. Eventos en la carga de! documento (Load). 7.3. Eventos generados por el ratén (mouse). 7.4. Eventos arrastrar y soltar (drag and drop). 7.5. Eventos generados por el teclado. 7.6. _ Informacién generada por los eventos y su manejo. 8 APLICANDO JAVASCRIPT EN DESARROLLOS WEB. 8.1. Manejo de CSS através de JavaScript. 8.2. JavaScript para la gestién de formularios web. Usos en validacién de formularios. 83. Calendarios con JavaScript. 8.4. Utilidades tipo reloj, cronémetro, cuenta atrés, etc. con JavaScript. 8.5. Efectos para mentis basados en JavaScript: desplegado dropdown, 8&6. _ Rotacién de imagenes y galerias de imagenes basadas en JavaScript. 9. JAVASCRIPT AVANZADO. 9.1, APIS HTML. Api Canvas. Api Drag and Drop. Api Geolocation. Api Storage. Api File. 9.2. Librerfas JavaScript. Una visién general. jQuery, Mootools, Prototype, Modernizr, Google API. 9.3. Adentréndonos en jQuery. Conceptos basicos y aplicaciones basicas. 9.4. Depuracién de errores JavaScript. Herramientas. Firebug. ‘Acceso al curso completo en [Link] -- > Cursos, 0 en la direccién siguiente: htto://[Link]/[Link]?option=com_content&view=categorv&id=[Link]=206 (Mas informacién: contacto@[Link] [Link] Seccion: Cursos Categoria: Tutorial basico del programador web: JavaScript desde cero Fecha revisién: 2029 Resumen: Entrega n22 del Tutorial basico del programador web JavaScript desde cero. Orientacién sobre duracién del curso y conocimientos previos recomendados. Autor: César Krall esciptdede ero’ — Cursos, o en la direccién siguiente: hnttp://[Link]/[Link]?option=com_content&view=category&iid=[Link]=206 © [Link], 2006-2029 ar = [Link] concepto de mvs. engnedepropamedén cecénclente, _— Cursos, 0 en la direccién siguiente: tegoryid=[Link]=206 [Link] _content&vie\ © [Link], 2006-2029 apr = [Link] apr ENDER apr OGRAMARS Concepto de JavaScript. Lenguaje de programacién ejecucion cliente. JAVASCRIPT EN EL MARCO DE LA PROGRAMACION WEB Ya hemos comentado que JavaScript se integra dentro de los desarrollos web con otros lenguajes como HTML, CSS y generalmente con un lenguaje del lado del servidor como PHP, JSP 6 ASP u otros. Hemos dicho también que su uso principal es ejecutarse del lado del cliente (computador del usuario). En esta entrega del curso vamos a ver cémo se integra JavaScript dentro de los desarrollos web en general y cémo existen posibilidades para usar JavaScript no sélo del lado del cliente. Si hiciéramos un simil entre una orquesta y un desarrollo web, el director de orquesta seria el lenguaje del lado del cliente (por ejemplo PHP}, que acta como “cerebro” controlador de la pagina web. CSS seria el encargado de vestuario y maquillaje, es decir, quien controla la apariencia de lo que se presenta al puiblico. HTML seria la estructura: el encargado de cémo se distribuyen las sillas en el escenario, donde se coloca cada miisico y qué instrumento lleva cada musico. Supongamos que para distintas canciones (urls) los miisicos cambian de posicién (cambia la estructura HTML). JavaScript seria el encargado de efectos especiales, por ejemplo quien mueve las luces y dispara un cafién de confetis en un momento dado, una persona dgil y rapida. Por ultimo tenemos a la base de datos, un encargado de guardar todas las partituras (informacién) y de ir entregéndolas 2 medida que se lo requieren los misicos u otros encargados. Esto es sélo un simil, pero nos sirve de introduccién para contextualizar el papel habitual de JavaScript dentro de los desarrollos web. Una orquesta puede tocar sin director (sin lenguaje del lado del servidor), sin encargado de efectos especiales (lavaScript), sin encargado de vestuario y presentacién (CSS), pero no sin muisicos (HTML). De todas formas, una buena orquesta normalmente tendré todo el personal (recursos de programacién} necesarios para que su puesta en escena sea “brillante”. Un lenguaje de programacién es un lenguaje que se usa para realizar procesos de interés a través de un ordenador o dispositivo electrénico, desde un cdlculo para un estudiante o ingeniero, a una compra por internet, pasando por cualquier cosa que se te ocurra. Un lenguaje de programacién tiene como caracteristicas basicas el tener la capacidad para “tomar decisiones” o ejecutar un proceso u otro en funcién de las circunstancias (por ejemplo dependiendo del botén que pulse el usuario), asi como el ser capaz de repetir procesos numerosas veces hasta que se cumpla una condicién. JavaScript es un Ienguaje que permite cumplir estas funciones, por tanto es un lenguaje de programacién, aunque se use junto a otros lenguajes de programacién y lenguajes de etiquetas como HTML y CSS. JavaScript es un lenguaje que aparecié para hacer mas faciles de programar y mas faciles para navegar los desarrollos web. Un desarrollo web comprende miltiples areas de conocimiento: © [Link], 2006-2029 concpto de mvs. engine depropanedéncecsnclns, — Cursos, o en la direccién siguiente: om _contentview=category&id=78<emi htto://[Link]/[Link]?optior © [Link], 2006-2029 apr = Naa ec ARR aeL YL) —cApr ENDER apr OGRAMARE Diferencias entre JavaScript, Java, HTML, CSS, PHP. etc. DIFERENCIAS ENTRE JAVA Y JAVASCRIPT Como hemos visto, JavaScript es un lenguaje de programacién para desarrollos web que normalmente usaremos del lado del cliente (es decir, que se ejecuta en el computador personal del usuario). Muchas veces nos han planteado la pregunta: ées JavaScript y Java lo mismo? éPor qué tienen nombres tan similares? Java y JavaScript son dos lenguajes de programacién con un nombre parecido y algunas similitudes en algunos aspectos, pero que en el fondo son dos lenguajes completamente independientes y completamente distintos. Una persona puede saber mucho de JavaScript y no tener “ni idea” de Java, y al revés. Si son distintos, épor qué tienen un nombre tan parecido? La causa de esta similitud en los nombres se debe a el origen de JavaScript. Inicialmente fue desarrollado por la empresa Netscape en 1995 con el nombre de LiveScript. Posteriormente pas6 a llamarse JavaScript quizas tratando de aprovechar que Java era un lenguaje de programacién de gran popularidad y que un nombre similar podia hacer que el nuevo lenguaje fuera atractivo. Pero salvando algunas similitudes, ambos lenguajes son bien distintos. Su principal parecido podemos decir que es el nombre y algunos aspectos de sintaxis, ya que su finalidad y filosofia son muy distintos. A continuacién indicamos algunas similitudes y diferencias entre uno y otro lenguaje: src} Pero Es un lenguaje de programacién de propésito general, Ltilizado tanto en aplicaciones tradicionales de ‘computadores como en desarrollos web. Es un lenguaje de programacién de propésito especitico (desarrollos web) Es un lenguaje que requiere de compilacién Es un lenguaje que no requiere de compilacién al ser (traduecién previa a cédigo maquina antes de ser neste a “ ejecutado}, interpretado directamente por los navegadores.. Es un lenguaje que se puede considerar pesado, potente y robusto en el sentido de que permite hacer de todo con un gran control Es un lenguaje que se puede considerarligero, dgil y poco robusto en el sentido de que no permite hacer ‘todo lo que permiten otros lenguajes. Es un lenguaje bajo la filosofia o paradigma de antacién a objetos completamente. Es un lenguaje no clasificable bajo un paradigma concreto y admite algunas formas de programacién no ‘admitidas por Java. Se puede utilizar tanto del lado del servidor como del lado del cliente. Tiene su uso principal del lado del servidor. Se puede utilizar tanto del lado del servidor como del lado del cliente. Tiene su uso principal del lado del cliente. © [Link], 2006-2029 Diferencias entre JavaScript, ave, HTML, CSS, PHP, ete. apr ENDER apr OGRAMARS Tr seg Su sintaxis esta inspirada en la sintaxis del lenguaje de programacién C Su sintaxis también esta inspirada en la sintaxis del lenguaje de programacién C Requiere de un kit de desarrollo y maquina virtual Java para poder programar en él No requiere nada especifico para poder programar en él (Unicamente un navegador web para ver los resultados y un editor de texto para escribir el cédigo). Es un lenguaje fuertemente tipado: las variables tienen Un tipo declarado y no pueden cambiar el tipo de contenido que almacenan. Es un lenguaje débilmente tipado: las variables pueden ro ser de un tipo especifico y cambiar el tipo de contenido que almacenan. Es un lenguaje con mas capacidades y mas complejo ‘que Javascript. Es un lenguaje con menos capacidades y menos ‘complejo que Java, Si estas dudando site conviene estudiar Java o estudiar JavaScript te recomendamos lo siguient. = Siquieres orientarte especificamente a los desarrollos web estudia JavaScript. - Si quieres formarte integralmente como programador y no conoces ningtin lenguaje orientado a objetos, estudia primero Java y luego JavaScript. En este curso nos centramos en el estudio de JavaScript en el contexto de los desarrollos web. Si estas interesado en un curso de Java puedes acceder a él en esta direccién web: JAVASCRIPT Y HTML, CSS, PHP... A veces nos encontraremos que se puede lograr un mismo efecto usando HTML, usando CSS 6 usando un lenguaje de programacién. éPor qué tantas formas para hacer una misma cosa? éDénde esta la frontera entre cada lenguaje? Esta pregunta no es de facil respuesta. Vamos a ver con un ejemplo lo que puede ocurtir para algo tan sencillo como aplicar algunos efectos a un texto. No obstante, ten en cuenta que este ejemplo relative a texto podria aplicarse a otros conceptos como bordes, margenes, animaciones, etc. EI lenguaje HTML permite aplicar algunos efectos visuales al texto. Escribe o copia este cédigo y guardalo en un archivo de nombre ejemplo1 html © [Link], 2006-2029 Oierencesentr Jat ae, HTML 65, PH ee ‘apr ENDER apr OGRAMARE - - -title>emplo HTML [Link]/titie> -Negrta: Quiero aprender a programarTachado: Quiero aprender a programar

-Color fuente: Quiero aprender a programars/font> <[osy> ‘content-type" charset="ut8"> Con Javascript podemos hacer algo parecido, Escribe o copia este cédigo y guardalo en un archivo de nombre [Link]: Eemplo Javascript [Link]é/title> tal y como mostramos a continuacién: shead> Dentro de las etiquetas ... incluiremos una etiqueta de apertura de declaracién de script . © [Link], 2006-2029 Jeane dtd por utes -cAPPENDER apr OGRAMARS Los motivos por los que se introdujo la especificacién type son varios: a) Existian (y existen) distintos lenguajes de script, es decir, ademas de javascript nos podemos encontrar otros lenguajes. El uso de type se concibié para indicarle al navegador qué lenguaje era el que usaba el script. Por ejemplo type="text/vbscript™ indicaria lenguaje VBscript, type="text/tel" indicaria lenguaje TCL, etc. b) Fue parte de la especificacién oficial de algunas versiones de HTML. Desde el momento en que todos los navegadores reconocen JavaScript sin necesidad de la especificacién type, usarla o no resulta indistinto y no vamos a preocuparnos mas por este asunto. Por otro lado ten en cuenta que la etiqueta Snead

/Aqu un pérafo de texto stuado antes de la imagen, dentro de un dv contenedor

Aqui otro pérrafo de texto JavaScript es un lenguae utiizado pare dotar de efectos dinémicos a las paginas web.

fae Notepades, © [Link], 2006-2029 Jeane dtd por utes AP ENDER apr OGRAMAR= Visualiza la pagina, El resultado esperado seré que al hacer click sobre la imagen se muestre un mensaje {el mensaje 1), mientras que al hacer click sobre el parrafo inferior se mostrara otro mensaje (el ‘mensaje 2). Aqui vemos cémo hemos definido un script. Nos podemos hacer algunas preguntas como: éPuede escri juetas .. ? La respuesta es que si. La mayoria de los navegadores aceptarén que el script esté en casi cualquier se un script en otro lugar distinto del comprendido entre las parte. Prueba a cambiar el cédigo y ponerlo en distintos lugares y comprueba los resultados. Pero poniendo el cédigo fuera de podemos tener problemas con algunos navegadores, 0 podemos tener problemas en algunos casos en que el cédigo deba guardar cierto orden. Para no tener problemas pondremos siempre los scripts dentro de las etiquetas ... . ePueden escribirse varios scripts en una misma pagina web? La respuesta es que si. Por ejemplo esto seria valido: Aqui en vez de un script con dos funciones, tenemos dos scripts cada uno de ellos con una funcién. éCudl es mejor opcién, un script o dos scripts? Recordar que JavaScript es un cédigo que es interpretado por el navegador (en concreto por una parte del navegador a la que se denomina precisamente intérprete JavaScript). Al escribir dos scripts estamos obligando al intérprete a leer mas lineas, y considerar dos unidades de scripts en lugar de una. Esto ralentiza la carga de la pagina web y su ejecucién, por tanto normalmente incluiremos el cédigo dentro de un tnico script, excepto cuando justificadamente necesitemos 0 sea razonable hacerlo de otra manera. En paginas web avanzadas es posible que encuentres muchos scripts que salen de muchos sitios diferentes. Qué extensi6n puede tener un script? La que nosotros queramos. Puede ser desde una linea hasta miles de lineas. Proxima entrega: CU01110€ ‘Acceso al curso completo en [Link] -- > Cursos, 0 en la direccién siguiente: hnttp://[Link]/[Link]?option=com_content&view=category&iid=[Link]=206 © [Link], 2006-2029 ar = ON a ANP) Ole Na OL JavaScript externo en archivos de extensionjs. Apr ENDER apr OGRAMARS JAVASCRIPT EN ARCHIVOS JS Hemos visto que podemos incluir JavaScript “embebido” dentro de una linea de HTML 0 dentro de la cabecera del documento HTML. Pero esto sera poco practico cuando tengamos muchas paginas web que necesiten usar las mismas funciones JavaScript. éVamos a estar repitiendo el cédigo en cada pagina? JAVASCRIPT EXTERNO EN ARCHIVOS JS De la misma forma que el cédigo CSS puede estar contenido en archivos externos con extensién css, el cédigo JavaScript puede independizarse del documento HTML introduciéndolo en un archivo de texto con extensién Jjs y que se invocara desde el cédigo HTML de la forma que mostramos a continuacién: "rutaDelArchivot js"> *rutaDelArchivo2,js"> *[Link]"> 'text/javascript” src: ‘text/javascript” sre: ‘text/javascript” sre: Podemos invocar un solo archivo, 0 dos, tres, cuatro... tantos como resulten necesarios. En el atributo src tenemos que especificar la ruta del archivo referenciado (si no indicamos nada, se sobreentiende que est en el mismo directorio que el documento HTML). Supongamos que un archivo externo con cédigo JavaScript se llamara functions, y estuviera dentro de una carpeta denominada jsf En ese caso escribiriamos: src="/jsf/functions js" En general tener el c6digo JavaScript en archivos independientes sera lo mas practico desde el punto de vista del mantenimiento de un sitio web. Tendremos las funciones agrupadas y ordenadas, pudiendo ser Invocadas desde cualquier parte de nuestra pagina web. Esto nos ahorrard tiempo de mantenimiento: si tenemos 200 documentos html, no tendremos que hacer 200 modificaciones sino inicamente modificar el archivo o los archivos con las funciones JavaScript que usamos en todo nuestro sitio web. © [Link], 2006-2029 Javscript entero en archives de etensin Apr ENDER 2p OGRAMARE Veamos un ejemplo. Escribe este cédigo y guardalo en un archivo de extensién html: -chtmni> Portal web - [Link]é/title>

Aqui un parrafo de texto situado antes de la Imagen, dentro de un dv contenedor

Notepad+4” title= Aqui otro pérrafo de texto, JavaScript es un lenguale utilzado para dotar de efectos dinémicos a las paginas web, Crea un archivo de nombre [Link] (créalo con un editor de textos como el bloc de notas, Notepad++ 0 cualquier otro) y escribe el siguiente cédigo: function mostrarMensaje1({ ‘alert(’Blenvenido al curso Javascript de [Link]); d function mostrarMensaje2(){ ‘alert Ha hecho click sobre el prrafo inferior’; y El resultado esperado al cargar la pagina html sera el siguiente: 1) Nada més cargarse la pagina aparecerd una ventana informativa con el texto “Completada la carga de la pagina’, Esto se debe a que hemos incluido JavaScript en linea asociado a la etiqueta body. El evento onload se produce cuando el elemento body se ha cargado completamente en el navegador. En ese momento se dispara el cédigo JavaScript asociado. 2) Al hacer click sobre la imagen se muestra un mensaje (el mensaje 1), debido a que hemos indicado que cuando se produzca el evento onclick sobre la imagen, debe ejecutarse la funcién mostrarMensaje1(). Esta funcién no se encuentra dentro del documento html, pero el navegador ha incorporado el cédigo JavaScript externo porque asi se lo hemos indicado al indicar sre = “[Link]”. Por tanto el cédigo externo funciona como si fuera cédigo incluido en el propio documento html. 3) Al hacer click sobre el pérrafo inferior se mostraré otro mensaje (el mensaje 2), debido a que hemos indicado que cuando se produzca el evento onclick sobre el segundo parrafo debe ejecutarse la funcién mostrarMensaje2() © [Link], 2006-2029 Javscript entero en archives de etensin Apr ENDER pr OGRAMARE Nos podemos hacer algunas preguntas como: éPor qué tenemos una funcién definida en linea y otras definidas en archivos externos? En general seré més interesante tener todo el cédigo organizado en un archivo externo en lugar de tenerlo “desperdigado” en scripts dentro de html, cédigo en linea, etc. No obstante, acostimbrate a que por miiltiples motivos te puedes encontrar con paginas web donde la organizacién del cédigo no sea buena. El navegador aceptara el cédigo que se encuentre, tanto en linea, como interno, como externo. Como programadores deberemos intentar mantener el cédigo tan ordenado como sea posible. Para ello es util usar archivos externos y agrupar las funciones de un mismo tipo dentro de carpetas y archivos con nombres descriptivos. Por ejemplo si tenemos un reloj javascript, todas las funciones asociadas al reloj pueden ir dentro de un archivo de nombre [Link]. Si tenemos una calculadora con diferentes funciones, podemos crear una carpeta calculadora y dentro de ella poner los archivos [Link], calculosFinancieros,js y [Link] por ejemplo. No hay que incluir las etiquetas en el archivo js? No, de hecho si lo hacemos el cédigo JavaScript es probable que no funcione al no ser capaz el intérprete del navegador de entender su significado en ese contexto. En los archivos js se incluye cédigo JavaScript Gnicamente. La etiqueta es cédigo html que se utiliza para delimitar el cédigo JavaScript dentro de un documento html. Esas etiquetas no forman parte del lenguaje JavaScript, por tanto no tiene sentido incluirlas en un documento JavaScript. Si el navegador encuentra cosas extrafias en un archivo js posiblemente ignore todo su contenido (con lo cual no ejecutaré ninguna funcidn y no veremos resultado alguno). ePuedo ver el cédigo JavaScript si visualizo el cédigo fuente de la pagina web? Depende. El cédigo JavaScript en linea 0 interno forma parte del documento HTML, por tanto si visualizas el cédigo fuente de la pagina si podrés verlo. En cambio el cédigo en archivos externos no podrds verlo directamente dentro del cédigo HTML de la web, aunque si podras ver el archivo al que se referencia, Podrés acceder al cédigo JavaScript escribiendo la ruta correspondiente. Por ejemplo [Link] podria ser una ruta en local (en nuestro ordenador) 0 [Link] podria ser una ruta en una pagina web on- line. De este modo podemos visualizar el cédigo JavaScript asociado a una pagina web. éEntonces me pueden copiar otras personas mi c6\ 0 JavaScript (y yo copiarlo de otras webs)? Si, Ten en cuenta que JavaScript se ejecuta del lado del cliente, es decir, en el ordenador del usuario, Lo mismo que el cédigo HTML y el cédigo CSS. éPuede robarse informacién del usario o introducir virus usando JavaScript? En general no, ya que los navegadores y sistemas operativos incluyen medidas de seguridad que impiden que a través de cédigo JavaScript se pueda acceder al ordenador del usuario. No obstante, © [Link], 2006-2029 snnscrigt eterno enrchives de etn apr ENDER apr OGRAMARE siempre hay “mentes perversas” que buscan fallos de seguridad en los sistemas e intentan hacer cosas de este tipo. Es muy dificil, pero a veces lo consiguen (y seguidamente son perseguidos por la policia). éDeshabilitar JavaScript puede ser una buena medida de seguridad? Podria serlo, pero no tiene demasiado sentido. Es como no salir de casa para evitar que te roben. Puedes hacerlo, pero te perderias todo lo que hay fuera de tu casa y nadie quiere vivir sin disfrutar de lo que nos puede ofrecer la vida. 4Es posible ejecutar cédigo JavaScript sin estar asociado a una respuesta a un evento? Si, escribe este cédigo en un archivo html y visualiza el resultado en tu navegador. Portal web - [Link]é/title>

Aqui estamos

El resultado esperado es que se cargue en pantalla el texto “Hola”. A continuacién se ejecuta el cédigo JavaScript que al no estar incluido dentro de una funcidn se ejecuta directamente. E! resultado es que se detiene la carga de la pagina web y aparece una ventana con el mensaje “Estamos cargando los contenidos de la web...”. Una vez pulsamos aceptar, se terminara la carga de la pagina y aparecera el texto “Aqui estamos”. En este caso hemos hecho cosas extrafias (isdlo para ver un ejemplo de cosas que te puedes encontrar!): hemos incluido un script fuera de las etiquetas ... y hemos dado lugar a la ejecucién de un cédigo JavaScript secuencialmente con el progreso de la carga del htm|, cen lugar de dar lugar a su ejecucién en respuesta a un evento (que seria lo mas normal) Proxima entrega: CU01111E ‘Acceso al curso completo en [Link] ~ > Cursos, o en la direccién siguiente: htto://[Link]/index.pho2optio © [Link], 2006-2029 ONAN P) a OLCNaeL Seccion: Cursos Categoria: Tutorial basico del programador web: JavaScript desde cero Fecha revisién: 2029 Resumen: Entrega n211 del Tutorial basico “JavaScript desde cero” Autor: César Krall coments sup sen sonst depuntoyconafna _~ Portal web - [Link]é/title> <

Aqui un pérrafo de texto situado antes de la Imagen, dentro de un div contenedor

«Aqul atra pérrafo de texto JavaScript es ‘un lenguaje utlzado para dotar de efectos dindmicos a as paginas web. Visualiza el resultado y comprueba que la pagina web se muestra con normalidad y que JavaScript se ejecuta con normalidad. © [Link], 2006-2029 Comentarios JavaScript nsercién automtea de punto yeome inal. _—“S@IPENDER AP OGRAMARE Los comentarios son parte del cédigo JavaScript. EI navegador los recibe y los detecta pero los ignora al no constituir instrucciones que hayan de ejecutarse. Sin embargo, los comentarios pueden ser visualizados si accedemos al cédigo fuente de la pagina web (cosa que puede hacer cualquier usuario) Por lo tanto en los comentarios no debe figurar nada que pueda considerarse indebido (como “este cédigo lo he copiado a mi compajiero de trabajo sin permiso”, 6 “Para acceder a la base de datos usar como datos usuario: cesar y contrasefia: [Link]”). Los comentarios deben usarse para describir aspectos importantes. Por ejemplo, contenido de un archivo, cometido de una funcién, versién, licencia, autor, copyright, aspectos que permitan una mejor comprensién del cédigo, avisos importantes, ete. Obviamente los comentarios JavaScript tienen que encontrarse dentro de cédigo JavaScript, no pueden insertarse en cualquier parte. Por tanto deberan estar dentro de las etiquetas 0 bien dentro de un archivo js, no pueden encontrarse en el cédigo HTML. Los comentarios multilinea no se pueden anidar (es decir, no puede haber un comentario muttilinea dentro de otro comentario multilinea). Los comentarios multilinea pueden dar lugar a errores cuando se mezclan con expresiones regulares (hablaremos de expresiones regulares mas adelante), INSERCION AUTOMATICA DE PUNTO Y COMA. En general las sentencias JavaScript deben terminar con un punto y coma que delimita el final de una instruccién. No obstante, en caso de que “se olvide” insertar el punto y coma delimitador, el intérprete JavaScript lo insertard autométicamente siempre que le sea posible, facilitando que el cédigo se ejecute, En el cédigo anterior, elimina los punto y coma al final se las sentencias JavaScript: function mostrarMensajet() ( ‘lert( Bienvenido al curso JavaScript de [Link]'’) ) function mostrarMensaje2() { alert Ha hecho click sobre el pérrafo inferior’) ) Visualiza la pagina web en tu navegador y comprueba que JavaScript sigue funcionando. éPor qué? Porque el intérprete del navegador, al encontrar que faltan los ; de cierre, los ha introducido automaticamente para permitir que se ejecute el cédigo. Aunque esto puede parecer una facilidad, recomendamos siempre el cierre de toda instruccién mediante punto y coma. Esto evitard errores 0 que ocurran cosas indeseadas. Proxima entrega: CU01112E ‘Acceso al curso completo en [Link] -- > Cursos, 0 en la direccién siguiente: htto://[Link]/[Link]?option=com_content&view=categorvBid=78&.itemid=206 © [Link], 2006-2029 apr = ON aa ec Aneel) “apr ENDER apr OGRAMARS Tipos de datos ytipos de variables en JavaScript. Declaracién. TIPOS DE VARIABLES EN JAVASCRIPT JavaScript permite trabajar con variables, como es habitual en los lenguajes de programacién. Ademas permite trabajar con objetos, un tipo de informacién mas compleja que una variable simple. De forma general podriamos referirnos a tipos de datos en JavaScript, y dentro de esos tipos de datos tenemos dos grupos fundamentales: los tipos primitivos y los tipos objeto. TIPOS DE DATOS EN JAVASCRIPT Los tipos de datos JavaScript se dividen en dos grupos: tipos primitives y tipos objeto. Los tipos primitivos incluyen: cadenas de texto (String), variables booleanas cuyo valor puede ser true o false (Boolean) y numeros (Number). Ademas hay dos tipos primitivos especiales que son Null y Undefined. Es en los tipos primitivos donde vamos a centrarnos por el momento. Los tipos objeto son datos interrelacionados, no ordenados, donde existe un nombre de objeto y un conjunto de propiedades que tienen un valor. Un objeto puede ser creado especificamente por el programador. No obstante, se dice que todo aquello que no es un tipo primitivo es un objeto y en este sentido también es un objeto, por ejemplo, una funcién. Lo estudiaremos mas adelante. Existen algunos objetos especiales con un comportamiento que estudiaremos por separado mas adelante: el “objeto global”, el “objeto prototipo”, los arrays, las funciones, las clases definidas por el programador, las clases predefinidas JavaScript (como la clase Date para manejo de fechas, la clase RegExp para manejo de expresiones regulares y busqueda de patrones en texto, y la clase Error para almacenar informacion relacionada con los errores) y otros. Los primeros lenguajes de programacién no usaban objetos, solo variables. Una variable podriamos decir que es un espacio de la memoria del ordenador a la que asignamos un contenido que puede ser basicamente un valor numérico (sélo niimeros, con su valor de eélculo) 0 de tipo cardcter 0 cadena de caracteres (valor alfanumérico que constara sélo de texto o de texto mezclado con ntimeros) Como ejemplo podemos definir una variable a que contenga 32 y esto lo escribimos como a = 32. Posteriormente podemos cambiar el valor de a y hacer a = 78. O hacer “a” equivalente al valor de otra variable “b" asi: a=b. Dado que antes hemos dicho que un objeto también ocupa un espacio de memoria: cen qué se parecen y en qué se diferencia un objeto de una variable? Consideraremos que las variables son entidades elementales: un numero, un cardcter, un valor verdadero o falso... mientras que los objetos son entidades complejas que pueden estar formadas por mucha informacién. Pero ambas cosas ocupan lo mismo: un espacio de memoria (que puede ser mas 0 menos grande) © [Link], 2006-2029 Tipos de datos ytipos de variables en JavaScript. Declaracion, El siguiente esquema es un resumen sobre tipos de datos en ~ Portal web - [Link]é/title> -

/Aquitun parrafo de texto situado antes de la imagen, dentro de un div contenedor

Notepad++” ti
‘un dtl editor de texto

Aqut otro pérrafo de texto. JavaScript es ‘un lenguaje utllzado para dotar de efectos dindmicos a las paglnas web.

Notepades, Visualiza el resultado y comprueba que la pagina web se muestra con normalidad y que JavaScript se ejecuta con normalidad cuando pulsas sobre la imagen. El resultado esperado es que se muestre lo siguiente: La variable precio vale: undefined (Aceptar) La variable dato1 vale: null (Aceptar) La variable precio vale: 32.55 (Aceptar) El doble de precio es: 65.1 (Aceptar) El importe resultante de multiplicar precio por cantidad es: 325.5 (Aceptar) La variable precio vale ahora: muy caro (Aceptar) El doble de precio es ahora: NaN (Aceptar) La variable precio ha sido declarada por segunda vez y ahora vale: 99.55 (Aceptar) La variable Sdescuento_aplicado vale: 0.55 (Aceptar) © [Link], 2006-2029 Tipos de datos vtpos de variables en JavaScript. Decaracin. apr ENDER apr OGRAMARS SIGNIFICADO DE UNDEFINED, NULL Y NAN De este ejemplo debemos destacar lo siguiente: a) Se cumplen los conceptos basicos explicados. b) El contenido de una variable no inicializada es undefined. En este caso decimos que la variable es de tipo Undefined, ©) El-contenido de una variable puede ser null y en ese caso decimos que la variable es de tipo Null d) Si intentamos realizar una operacién matemética con una variable cuyo contenido no es numérico sino texto, la variable toma el valor NaN. Para JavaScript NaN (abreviatura de “Not-a- Number”) es un valor numérico especial, que representa “niimero ilegal o no representable”. La asignacién de NaN que realiza JavaScript autométicamente cuando se intentan realizar operaciones numéricas ilegales evita la aparicién de errores explicitos 0 que el cédigo JavaScript, deje de ejecutarse. EJERCICIO. Crea un cédigo JavaScript donde se genere un error por un mal uso de la palabra clave var y comprueba la respuesta del navegador. Crea una variable y asignale los contenidos true y false, e intenta multiplicarlas por un niimero (por ejemplo por 2). Qué resultados obtienes? ZA qué crees que se deben estos resultados? Para comprobar si es correta tu solucién puedes consultar en los foros [Link]. Proxima entrega: CUO1113E ‘Acceso al curso completo en [Link] -- > Cursos, o en la direccién siguiente: ate /[Link]/[Link]?optior © [Link], 2006-2029 ar = ON a ANP) Ole Na OL capr ENDER apr OGRAMARS Tipos de variables en JavaScript. Numéricas (Number). VARIABLES NUMERICAS EN JAVASCRIPT. A diferencia de muchos otros lenguajes de programacién (como Java, C, C++, Visual Basic, ete.), JavaScript no diferencia distintos tipos de variables numéricas. Todos los nimeros en JavaScript son tratados como un tipo numérico nico, el tipo Number, que “agrupa” a los tipos int, integer, double, float, single, etc. que se utilizan en otros lenguaies. VARIABLES NUMERICAS JAVASCRIPT JavaScript permite representar cualquier numero que sea necesario, Ten en cuenta que esto no significa que se puedan usar niimeros “descomunales” porque un computador siempre ha de tener un limite. Pero el limite de JavaScript es del orden de +1.7976931348623157 x 10°" para nimeros grandes(esto son millones de trillones, un numero tan grande que nunca tendremos problemas porque nunca vamos a tener que usar un nimero superior a esta cifra) y del orden de +5 x 10° para nimeros pequefios (esto supone que se puede trabajar con niimeros con cientos de decimales, y en la practica nunca vamos a necesitar tanta precisién, con lo cual nunca tendremos problemas por usar ntimeros muy pequefios 0 con gran nimero de decimales). Para indicar que un nmero es negativo se precede del signo menos. Los ntimeros decimales se escriben utilizando el punto (.) como separador. Si la parte entera de un numero es el cero, se admite omitir el cero. Es decir, 0.55 y .55 son ambos admitidos. También se admite la notacién basada en indicar un nimero seguido de E y la potencia de 10 a la que se debe elevar. También se admite usar la e minscula, Por ejemplo 1.2£2 6 1.2e2 equivale a 1.2*10° = 1.2*100 = 120. Esta notacién permite escribir nimeros muy grandes o muy pequefios sin tener que escribir todas las cifras. Por ejemplo 3.2345234565E20 equivale a 323452345650000000000 6 3,2345234565e-10 equivale a 0.00000000032345234565 El uso de numero decimales puede presentar en ocasiones problemas debido al redondeo decimal, como veremos. Este problema no es exclusivo de JavaScript, sino que es algo que afecta a numerosos Ienguajes de programacién. \Veamos un ejemplo. Escribe este cédigo y guardalo en un archivo de extensién html (puedes cambiar la ruta de la imagen si quieres): © [Link], 2006-2029 Tipos de variables en Javascript. Numéricas (Number) APP ENDER apr OGRAMARS chtmb> Curso JavaScript [Link]«/title> -

/Aqui un parrafo de texto situado antes de la imagen, dentro de un div contenedor

Notepade4” tit
‘un util editor de texto

Aqui otre pérrafo de texto. Javascript es un lengua utlzado para dotar de efectos dindmicos alas paginas web.

=!Notepades, Visualiza el resultado y comprueba que la pagina web se muestra con normalidad y que JavaScript se ejecuta con normalidad cuando pulsas sobre la imagen. El resultado esperado es que se muestre lo siguiente (compruébalo): cadena texto vale © [Link] cadena texto es "[Link]' cadena texto ahora contiene Letra A: A, 0 con tilde: 6 sigue Caracter \ igualmente \ seguido de tres saltos de linea Prosigue comilla simple ' y doble " Introduzca un texto por favor: andamio El texto introducido fueandamio con longitud de 7 caracteres La longitud de extraordinario es de 14 caracteres La longitud de la cadena vacia es de 0 caracteres © [Link], 2006-2029 Tinos de variables en JavaScript. tring (Texto). “apr eENDER apr OGRAMARS EJERCICIO Consulta en internet cual es el cédigo unicode que corresponde al cardcter 1 (simbolo matematico Fi) y usando el cédigo muestra por pantalla el mensaje “El ntimero n vale 3.1416". Para comprobar si es correcta tu solucién puedes consultar en los foros [Link], Proxima entrega: CU01115€ Acceso al curso completo en [Link] ~ > Cursos, o en la direccién siguiente: [Link] © [Link], 2006-2029 ar = [Link] capP ENDER apr OGRAMARS Declaracién de variables JavaScript. Variables booleanas. DECLARACION DE VARIABLES JAVASCRIPT. VARIABLES BOOLEANAS. Aunque no es obligatorio, se recomienda declarar siempre las variables antes de usarlas en JavaScript. Como sabemos esta declaracién se hace escribiendo la palabra clave var seguida del nombre de variable. También se pueden declarar multiples variables en una sola linea escribiendo var y a continuacién los nombres de las variables separados por comas, Por ejemplo podemos declarar: var coches; var motos; var trenes; Obbien hacerlo en una sola linea de esta manera: var coches, motos, trenes; También se permite la inicializacién de variables en linea. Por ejemplo podriamos escribir: var coches = 32, motos = 9, trenes = 12; De este modo quedan las variables inicializadas en el mismo momento de deciaracién. Aunque la declaracién de variables no es obligatoria, se recomienda siempre declarar las variables. Si se trata de hacer uso de un nombre de variable que no existe para asignérselo a una variable si existente, se produce un error y el cédigo JavaScript deja de funcionar. Ejemplo: function mostrarMensaje1() { var mayorDe25 = false; ‘mayorDe25 = variablelnexistente; //Genera un error y el cédigo no se ejecuta alert (‘Mostrar un mensaje no se ejecuta’); Importante: un “pequefio error” al escribir un nombre de variable puede generar un error (no visualizado al no aparecer mensaje de error) y hacer que nuestro cédigo JavaScript deje de funcionar. VARIABLES BOOLEANAS En JavaScript una variable es booleana si se le asigna como contenido true 6 false. Estas variables se usan para almacenar informacién del tipo si / no, cumple / no cumple, verdadero / falso, existe / no existe, es decir, informacién que tnicamente puede tener dos estados. Ejemplo: var casado = true; true y false son palabras clave JavaScript. Por tanto no podemos usarlas como nombres de variables. Si escribiéramos true = 25; el intérprete del navegador interpretaria que existe un error, por lo que el © [Link], 2006-2029 Declaracion de variables JavaScript Variables booleanas. SAPP ENDER apr OGRAMARS cédigo JavaScript no se ejecutaré (sin embargo, no veremos ningtin mensaje de error, simplemente veremos que JavaScript no funciona). Las variables booleanas normalmente se emplean para evaluar si se cumplen condiciones mediante instrucciones if else, como veremos mas adelante. Un razonamiento usando variables booleanas puede ser <>. Las variables booleanas toman valor true o false. Puede considerarse que existe un equivalente numérico (1 para true y 0 para false), pero debemos decidir si queremos operar con niimeros, usar una variable numérica, y si queremos operar con los valores true y false, operar con variables booleanas. En general toda variable tiene un equivalente numérico y un equivalente en forma de texto. Por ejemplo el equivalente en forma de texto del valor true seria ‘true’ y se puede obtener escribiendo el nombre de la variable seguido de toStringt). Por ejemplo [Link]() devuelve la cadena de texto ‘true’, que es diferente del valor booleano true. \Veamos un ejemplo. Escribe este cédigo y guardalo en un archivo de extensién html (puedes cambiar la ruta de la imagen si quieres): Curso JavaScript [Link] -

AAqui tun pérrafo de texto situado antes de la imagen, dentro de un dv contenedor

Notepade” tit
un itl editor de texto

Aqui otro pérrafo de texto. JavaScript es un lengua utiizado para dotar de efectos dindmicos alas paginas web.

‘[Link]/titie> Cursos, o en la direccién siguiente: htto://[Link]/[Link]?option=com_content&.view=category&id=[Link]=206 © [Link], 2006-2029 apr = NaN Pa ec ARR aeL YL) Operadores ligicos yrelacionales JavaScript. Valores de verdad. ‘apr ENDER apr OGRAMARS OPERADORES LOGICOS PRINCIPALES EN JAVASCRIPT En JavaScript disponemos de los operadores logicos habituales en lenguajes de programacién como son “es igual”, “es distinto”, menor, menor o igual, mayor, mayor o igual, and (y), or (0) y not (no). La sintaxis se basa en simbolos como veremos a continuacién y cabe destacar que hay que prestar con = porque implican distintas cosas, atencién ano confundir OPERADORES LOGICOS Y RELACIONALES Disve ale iaTAV Ke) Es igual Es estrictamente igual ! Es distinto al=b Es estrictamente distinto Menor, menor 0 igual, mayor, SS mayor o igual Ba Operador and (y) a&&b ' Operador or (0) allb ! Operador not (no) la ‘Operadores logicos y relacionales principales en JavaScript, La sintaxis coincide con la empleada en otros lenguajes de programacién. ‘Ademas de los operadores habituales existen los operadores === que se interpreta como “es estrictamente igual” y !== que se interpreta como “no es estrictamente igual”. Estos operadores resultan un poco mas complejos de comprender por lo que volveremos a hablar de ellos mas adelante. De momento tener en cuenta que si una variable contiene textol= “1” y hacemos la comparacién 1, obtendremos false, es decir, que no es igual (porque un texto no es igual a un numero). devolverd true ya que esta comparacién no es estricta y textol = Sin embargo una comparacién como texto © [Link], 2006-202 cperdoresleeorvieaconalesinscipt Valresdeverte. __—= k) tiene tres evaluaciones: la primera comprueba si la variable a es igual a b. Si no se cumple esta condicién, el resultado de la expresién es falso y no se evaluan las otras dos condiciones posteriores. En un caso como (a Curso lavaScript [Link]«/title> function mostrarMensajet!){ vara, b, ¢.d, eTexto; a= 3;b=5;c= true; d= false; eTexto ‘alert (Valor de verdad pare avb. ces:'+ (atb: alert (Valor de verdad para avb: alert (Valor de verdad para c==des:"+ (c==d)}; alert (Valor de verdad para c&&d es:'+ (88d); ‘alert (Valor de verdad para cl | es:'+ (cl); ‘alert (Valor de verdad pare aes: (Ia) alert (Valor de verdad para eTexto === 1:'+ (eTexto === 1); ‘alert (Valor de verdad para eTexto ==1:'+ (eTexto == 1); ‘alert (Valor de verdad para Zapato < avellano es:'+ Zapato'Aqui un parrafo de texto situado antes de la imagen, dentro de un div contenedor

Aqui otre pérrafo de texto. JavaScript es un lenguale utiizado para dotar de efectos dindmicos alas paginas web.

Notepades, Visualiza el resultado y comprueba que la pagina web se muestra con normalidad y que JavaScript se ejecuta con normalidad cuando pulsas sobre la imagen. El resultado esperado es que se muestre lo siguiente (compruébalo): Valor de verdad para atb == 8 &8& a-b ==1 es: false (Aceptar) Valor de verdad para a+b == 8 && a-b ==-2 es: true (Aceptar) Valor de verdad para c == d es: false (Aceptar) Valor de verdad para c&&d es: false (Aceptar) Valor de verdad para c| |d es: true (Aceptar) Valor de verdad para !a es: false (Aceptar) Valor de verdad para eTexto === 1: false (Aceptar) Valor de verdad para eTexto == 1: true (Aceptar) Valor de verdad para Zapato < avellano es: true (Aceptar) © [Link], 2006-2029 Operadores igicos vrelacionales JavaScript. Valores de verdad. “apr ENDER apr OGRAMARS Importante: recordar que cuando se quieran realizar comparaciones de igualdad hay que usar el operador == y no el operador =. EJERCICIO 1 Dadas las variables de tipo entero con valores A = 5, B = 3, C = -12 indicar si la evaluacién de estas expresiones daria como resultado verdadero o falso: a)A>3 byA>c OAc d)B3&&B>38RC<3 hate p)A>3&& B>=38&C<-3 Crea un script donde declares estas variables, les asignes valores y muestres por pantalla el valor de verdad que tienen cada una de las expresiones antes indicadas. éCoincide lo que se muestra con pantalla con lo que tt esperarias que se mostrara? Puedes comprobar si tus resultados son correctos consultando en los foros [Link]. EJERCICIO 2 Crea un script donde declares dos variables a y b y fuerces a que ambas contengan valor NaN. Ahora realiza las comparaciones a este resultado? a Qué resultados obtienes? 2A qué crees que se debe Proxima entrega: CUO1118€ ‘Acceso al curso completo en [Link] -- > Cursos, 0 en la direccién siguiente: h[Link] © [Link], 2006-2029 apr = [Link] Operadores lagicos yrelacionales JavaScript. Valores de verdad. ‘apr ENDER apr OGRAMARS OPERADORES EXTRA EN JAVASCRIPT En JavaScript disponemos ademés de la asignacién tracional basada en = de algunos operadores menos habituales como incremento unitario (++), decremento unitario (--), asignacién compuesta de suma (+=) y asignacién compuesta de multiplicacién . asignacién compueta de resta etsy DESCRIPCION EaravTare) eT RUN = Asignacién Suma lo indicado a=atb Resta lo indicado aza-b Multiplica por lo b a=atb indicado Calcula el médulo por lo a%=b a=a%b indicado ; Incremento unitario +372 azatl ++ (anterior) antes de operar at2 ji Incremento unitario ant? atz ++ (posterior) después de operar azatl i Decremento unitario ~at2 aza-1 (anterior) antes de operar at2 . Decremento unitario at2 -- (posterior) después de operar aza-1 Operadores en JavaScript © [Link], 2006-202 cperdores leer yieaconalesinvscipt Valresdeverte. _— 5 implicara que a vale false porque 3 > 5 es falso. ++ y ~ son sélo validos para variables numéricas y sirven para incrementar una unidad el valor de la variable. Dependiendo de dénde se coloquen (antes o después de la variable) el resultado del calcul puede diferir debido al momento en que se ejecuta la adicién de la unidad. Los operadores +=, -= y *= son formas abreviadas de escribir operaciones habituales. Tener en cuenta que ++, ~, +=, = y "= son expresiones que siempre se aplican sobre variables. Por ejemplo no es vilido escribir 2++ porque 2 no es una variable. Todas estas operaciones pueden sustituirse por otra equivalente mas evidente. Muchos programadores prefieren no usar estos operadores porque hacen menos legible el cédigo. A otros programadores les gusta usarlos porque les ahorra escribir. Nosotros preferimos no usarlos, pero es cierto que los puedes encontrar cuando tengas que revisar el c6digo escrito por otra persona, EJEMPLO \Veamos un ejemplo. Vamos a usar dos pequefias novedades. Number (nombreVariable); para indicarle a JavaScript que considere la variable como de tipo numérico y no de tipo texto. De esta forma Una vez pedido un ntimero al usuario usaremos nombreVariable al usar el operador + se ejecutard la operacién de suma en lugar de la operacién de concatenacién de cadenas de texto, ‘Ademas usaremos la sentencia [Link]('cadena de texto a introducir como HTML en el documento’); para introducir HTML en el documento. Hablaremos de esta sentencia més adelante, de ‘momento sélo nos interesa saber que sirve para introducir cédigo HTML en el documento. Fijate cémo en este ejemplo se usan tres scripts cuya ejecucién no est en funcién de la ocurrencia de un evento como un click de un usuario, sino que se ejecutan automaticamente cuando carga la pagina web, en un determinado orden. Escribe el siguiente cédigo y guardalo en un archivo de extensién html: © [Link], 2006-2029 cperadores leer yieaconalesinscipe Valresdeverte. _— «tite>Curso JavaScript [Link]/titie> body (background-color: #FAEBD7; font family: sans-serif line-height: 1.3;} div (border-style: sold; margin: 15px; padding: 10px; float: left) Operadores de asignacin compuestos <

Aqut un parrafo de texto situado antes de la Imagen, dentro de un div contenedor

Notepad+4” ti
un util editor de texto

Aqui otro pérrafo de texto. JavaScript es un lengua utilized para dotar de efectos dindmicos alas paginas web,

jotepades, Visualiza el resultado y comprueba que la pagina web se muestra con normalidad y que JavaScript se ejecuta con normalidad cuando haces click sobre la imagen. EI resultado esperado es que se muestre lo siguiente (compruébalo introduciendo Juan y 96 como entradas de usuario) Por favor introduce tu nombre: Juan (Aceptar) Hola Juan. Bienvenido a esta pagina web. (Aceptar) éCual es tu edad? : 96 (Aceptar} Tienes muchos afios encima... (Aceptar) © [Link], 2006-2029 Itelse, else if Javascript. Condicionales estructuras de decisién, “apr ENDER apr OGRAMARS EJERCICIO Crea un script que pida al usuario el didmetro de una rueda y su grosor (en metros) y a través de condicionales if realice las siguientes operaciones: a) Si el diametro es superior a 1.4 debe mostrarse el mensaje “La rueda es para un vehiculo grande” Si es menor 0 igual a 1.4 pero mayor que 0.8 debe mostrarse el mensaje “La rueda es para un vehiculo median”. Sino se cumplen ninguna de las condiciones anteriores debe mostrarse por pantalla el ‘mensaje “La rueda es para un vehiculo pequefio”. b) Si el diémetro es superior a 1.4 con un grosor inferior a 0.4, 6 si el didmetro es menor o igual a 1.4 pero mayor que 0.8, con un grosor inferior a 0.25, debers mostrarse el mensaje “El grosor para esta rueda es inferior al recomendado” Ejecuta el cédigo y comprueba sus resultados, Para comprobar si es correcta tu solucién puedes consultar en los foros [Link]. Proxima entrega: CU01120E ‘Acceso al curso completo en [Link] ~ > Cursos, o en la direccién siguiente: [Link] © [Link], 2006-2029 apr = [Link] apr ENDER apr OGRAMARS switch JavaScript. Decisién entre distintas alternativas. CONDICIONAL DE SELECCION SWITCH EN JAVASCRIPT. EJEMPLO DE APLICACION. La instruccién switch es una forma de expresién de un anidamiento miiltiple de instrucciones if... else. Su uso no puede considerarse, por tanto, estrictamente necesario, puesto que siempre podré ser sustituida por el uso de if. No obstante, a veces resulta ttil al introducir eficiencia y mayor claridad en el cédigo. La sintaxis sera (expresién ser normalmente una variable cuyo contenido queremos evaluar, pero puede ser una operacién matemtica, una expresién booleana, etc.): switch (expresién) { case valor1! instrucciones; break; case valor2: instrucciones; break; default: sentencias; break; ‘switch (expresién) { case valor1; case valor2: case valor3: instrucciones; break; case valord! instrucciones; break; default: sentencias; break; © [Link], 2006-2029 sich eigen ene dts starts ~) break es opcional (pero en general recomendable) y provoca que una vez encontrada una coincidencia termine la evaluacién de casos. Sino se incluye, se evaluarian el resto de casos (ejecutdndose si fueran ciertos). De no incluirse break, podria producirse que se ejecuten dos o mas casos. La cléusula default es opcional y representa las instrucciones que se ejecutaran en caso de que no se verifique ninguno de los casos evaluados. El ultimo break dentro de un switch (en default si existe esta clausula, 0 en el tiltimo caso evaluado si no existe default) también es opcional, pero lo incluiremos siempre para ser metédicos. switch realiza las comparaciones usando el operador === (igual estricto). Se permite evaluar tanto ntimeros como cadenas de texto 0 valores booleanos. Switch solo permite evaluar valores concretos de la expresién: no permite evaluar intervalos (pertenencia de la expresién a un intervalo 0 rango) ni expresiones compuestas. Cédigo de ejemplo: /[®jemplo de uso switch JavaScript [Link] Function mostrarMensajel() { switch (mes) { case 1: alert ("El mes es enero" break; ‘ase 2: alert ("El mes es febrero"); break; case 10: alert ("El mes es octubre"); break; default: alert ("EI mes no es enero, febrero ni octubre"); break; © [Link], 2006-2029 sich eigen ene dts starts 18) donde la expresién devuelve un booleano, 0 case ‘armario': alert ("Ha introducido armario"); break; donde se evaliia la igualdad con un texto. ESEMPLO Escribe el siguiente cédigo y guardalo en un archivo de extensién html (puedes cambiar la ruta de la imagen si lo deseas): Curso JavaScript [Link] <[head>
-

Pulsa adelante o atrésc/p> *utt"> {1 && movimiento == 'atra! || numerolmayendctual humor informatico_fote jpg’ contenedor"> * moverimagen(‘atras)> << Atrés

‘moverlmagen(‘adelante)" >Adelante >>> © [Link], 2006-2029 Acceder a elementos JavaScript. getlementByi. APP ENDER apr OGRAMARS EJERCICIO [Link] que el cédigo anterior te permite cambiar la imagen que se muestra haciendo uso de los botones. 2. En el cédigo anterior hay una declaracién de variables (var numerolmagenActual =9;) que no esta dentro de una funcién. Por qué crees que se ha hecho esto asi? Prueba a colocarla dentro de la funcién, comprueba qué ocurre y razona el por qué 3. Modifica el cédigo anterior para que en lugar de definirse src, alt y title para cada imagen dentro de los if, se definan estos valores usando arrays declarados en cabecera de la funcién. Por ejemplo tendremos que: valorSrc{0] = '[Link] camiseta_6_humor_informatico_foto.jpg'; Las asignaciones dentro de los if deberdn hacer referencia a los elementos del array y el resultado de ejecucién debera ser el mismo que se obtenia con el cédigo original 4, Duplica todo el cédigo HTML existente dentro de la etiqueta body, de modo que se muestren dos veces el texto, dos veces la imagen y dos veces los botones. éCuando pulsas un botén situado debajo a la imagen inferior qué ocurre? éPor qué ocurre esto? Para comprobar si tus respuestas son correctas puedes consultar_ en los foros [Link]. Proxima entrega: CU01128E Acceso al curso completo en [Link] ~ > Cursos, o en la direccién siguiente: htto://[Link]/[Link]?option=com_content&view=categorvBiid=[Link]=206 © [Link], 2006-2029 apr = ON aa ec ARR aeL YL) Acceder a elementos JavaScript. getElementsByTagName. “APP ENDER apr OGRAMARS GETELEMENTSBYTAGNAME EI acceso a un nodo concreto del DOM usando getElementByld es muy frecuente, pero hay otras maneras de acceder a los nodos del DOM. Una de ellas es usando getElementsByTagName(‘etiquetaBuscada’). Esta funcién nos devuelve un array conteniendo todos los nodos DOM cuya etiqueta coincide con etiquetaBuscada. El orden en que apareceran los elementos en el array (comenzando con indice cero) es el mismo en el que aparezcan en el cédigo de la pagina web. Ejemplo: var elementosDiv = document getElementsByTagName(‘div'); Nos devolverd un array con todos los nodos de tipo element cuya etiqueta sea div, empezando con indice cero: elementosDiv{0}, elementosDiv{1], elementosDiv{2], elementos div(3]... hasta el indice que sea necesario para abarcar tantos elementos div como haya en el cédigo. Podemos obtener los nodos de cualquier tipo de etiqueta: div, span, p, label, input, hi, h2, ete. Tener en cuenta que escribimos [Link]('div’) porque queremos empezar la biisqueda desde el nodo raiz del DOM, es decir, el nodo document (asi exploramos todos los nodos) Podriamos empezar la busqueda por otro nodo si resultara de interés. CAMBIAR ESTILOS CSS CON JAVASCRIPT Una posibilidad interesante de JavaScript serd poder modificar de forma dinamica el aspecto de la web modificando el CSS asociado. La sintaxis para poder ejecutar modificaciones de estilo seré la siguiente: [Link] = 'valorPropiedad’; Un ejemplo seria: elementosObtenidos{1].[Link] = '#FF9933'; Donde elementosObtenidos{1 corresponde a un nodo del DOM. Y backgroundColor es la propiedad CSS que deseamos cambiar pero expresada con sintaxis JavaScript. Si te fijas, la sintaxis CSS es background-color mientras que la sintaxis JavaScript es backgroundColor. En este caso son similares, pero no exactamente iguales. En otros casos si hay coincidencia. Mas adelante veremos una tabla de equivalencia entre propiedades CSS © [Link], 2006-2029 Acad mento nec etree Toga ajir ENDER@prOGRAMARES Para ver la aplicacién del acceso con getElementsByTagName y el cambio de propiedades CSS con JavaScript escribe el siguiente cédigo y comprueba sus efectos al visualizar la pagina: chead> Elemplo DOM - [Link]/title> body (background-color:white; font-family: sans-serif) label {color: maroon; display:block; padding'Spx:} abecera"> - < -

Si quleres contactar con nosotros envianos este formulario relleno:

El resultado esperado es que al cargar la pagina los elementos label del form se muestren con un color de fondo blanco. Al hacer click para escribir en el formulario, se mostrara cada uno de los elementos con un color de fondo ligeramente distinto porque asi lo hemos establecido a través del cédigo. © [Link], 2006-2029 Acad mento Sci etree VToshne _apr ENDER apr OGRAMAR= Portal web [Link] Didactica y divulgacion de la programacion Suites eartactr con nosctosenvanos ast farmaan vale == Portal web [Link] Didactica y divulgacion de la programacion Squires eortactar con nosciosenfangs este armani lon EJERCICIO Modifica el cédigo anterior para que en vez de pasarse como parametro label pases como parametro: div, input, h1 y h2. éSe usan los tres indices del array en todos los casos? ¢Qué ocurre si aparecen mas indices que elementos realmente existen en el documento html? Modifica el cédigo anterior para introducir div que simule un botén con el texto "Cambiar a inglés” y otro div simulando un botén “Cambiar a espafiol”. Al pulsar sobre el botén cambiar a inglés, debes acceder a los nodes del DOM de tipo label y usando relaciones de parentesco entre nodos acceder a aquellos nodos cuyo nodeValue es Nombre:, Apellidos:, y Correo electrénico: y cambiar su nodeValue por Name:, Surname: y e-mail Orientacién: tendrés que conocer la estructura del DOM para poder acceder a los nodos con el contenido texto que nos interesa, ya que estos nodos son descendientes de los nodos label. Para comprobar si tus respuestas son correctas puedes consultar en los foros [Link]. Proxima entrega: CU01129E ‘Acceso al curso completo en [Link] -- > Cursos, 0 en la direccién siguiente: htto://[Link]/index,pho?option=com_content&view=catezorv&id=78&.lternid=206 © [Link], 2006-2029 apr = [Link] Sinan vat aa propedades 3. Eualencs —

También podría gustarte