Scripting en el cliente: Javascript. Tecnologías Web



Documentos relacionados
Elementos léxicos del lenguaje de programación Java

Introducción a PHP. * No es necesario declarar previamente las variables.

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

TEMA 9 CREACIÓN DE PÁGINAS WEB

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

JavaScript toma su sintaxis de los lenguajes de programación más conocidos, fundamentalmente C/C++, aunque también algo de Pascal.

Curso PHP Módulo 1 R-Luis

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

Ejercicio: Mensajes Alert, Confirm y Prompt

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

Preliminares. Tipos de variables y Expresiones

BANNERS CÍCLICOS CON JAVASCRIPT

Tema 2. El lenguaje de programación Java (Parte 1)

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Introducción a la Programación en MATLAB

CONCEPTOS BASICOS DEL LENGUAJE JAVA

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 4: Lección Evaluativa 1

Tutorial Básico de vbscript

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

TUTORIAL SOBRE EXPRESIONES REGULARES EN JAVASCRIPT PARA VALIDACIÓN DE CAMPOS EN FORMULARIOS HTML:

Programación: QBASIC

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Capítulo 1 Documentos HTML5

1 ELEMENTOS BASICOS DEL LENGUAJE

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

GUÍA DE USUARIO DEL CORREO

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Definiciones. Tema 21_Módulos Menú 1

Kaldeera Advanced Forms 2009 Guía del usuario

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Manual del Alumno de la plataforma de e-learning.

Ejercicios - Persistencia en Android: ficheros y SQLite

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

JavaScript como Orientación a Objetos

1. CONSIDERACIONES GENERALES

Se guardan en archivos con extencion c y los cabezales con extension h

Imprimir códigos de barras

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PROGRAMACIÓN PÁGINAS WEB CON PHP

JavaScript,, AJAX y otras tecnologías web. Área de Ingeniería Telemática

1 Estructura básica de un programa C++

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Comencemos a programar con. Entrega 10. Estructuras de Control II

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2.

Manual básico de Robomid

Tema 7: Programación con Matlab

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Manual de Capacitación y de Usuario

Entorno Virtual Uso educativo de TIC en la UR Tutorial de uso de:

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden

INSTRUCTIVO. Cambio de contraseñas para acceder al módulo Ulises SAI

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

Modulo 1 El lenguaje Java

PHP y MySQL. Indice: Switch Bucles For While do...while

Capítulo 9. Archivos de sintaxis

Tema 3 Elementos básicos de programación

A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección.

Características de JavaScript

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.

PRACTICA 6. VECTORES Y MATRICES.

Manual de Procedimiento

MANUAL DE USO DE LA APLICACIÓN

MANUAL DE INICIO DE TRAMITACIÓN CON CERTIFICADO ELECTRÓNICO Cambio de Titularidad de Apertura de Actividades no Calificadas

Basic Object Oriented Programming (BOOP) Gramática del Lenguaje. Ever Mitta Flores

Operación de Microsoft Word

Centro de Capacitación en Tecnologías de la Información

PHP Básico. PHP para principiantes

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

Tutoriales sobre Moodle. EOI de Murcia. 0. Instrucciones para el volcado de cursos entre profesores

Introducción a la extensión de scripting en gvsig 2.0

Unidad 1. Introducción a HTML (I)

3. Número inicial y número final de mensajes mostrados en la página actual.

GENERACIÓN DE CÓDIGO

Tomar información por pantalla con JavaScript

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 1.

Guía del Lenguaje de Programación PHP - CEF NAC

SBConta.NET Manual de instalación. SBSS Consulting, S.A Barcelona Telf , fax web

DISEÑO WEB ADOBE DREAMWEAVER CS3

2. Estructura de un programa en Java

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet DLSI - Universidad de Alicante 1

CURSO DE PROGRAMACIÓN PHP MySQL

CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE

Transcripción:

Scripting en el cliente: Javascript Tecnologías Web

Motivación Por qué usar JavaScript? Permite crear efectos atractivos visualmente Permite crear sitios WEB que se visualicen de la misma manera en distintos navegadores Permite suplir las carencias de implementación de especificaciones entre los distintos navegadores Permite interactuar con el usuario sin los problemas de la latencia de la red. Por qué aprender JavaScript? Habitualmente se copian scripts genéricos disponibles en la WEB. Están pobremente escritos En la mayor parte de casos es necesario particularizarlos para adaptarlo a nuestro sitio WEB JavaScript 1

Qué es Javascript? Características Es un lenguaje de script (guión secuencia de instrucciones) Tiene algunas características de orientación a objetos Es un lenguaje interpretado No se compila JavaScript NO es Java Se ejecuta en el cliente El navegador del cliente es el que se encarga de interpretar y ejecutar los comandos de JavaScript JavaScript 2

Qué podemos hacer con Javacript? Crear páginas WEB más atractivas Crear etiquetas dinámicamente Intercambiar imágenes Controlar el navegador Mostrar mensajes al usuario Crear ventanas emergentes Interactuar con formularios Validar formularios Interactuar con el usuario Responder a sucesos generados al interactuar el usuario con el navegador JavaScript 3

Qué no podemos hacer con Javascript? No podemos generar gráficos No soporta conexiones por red de ningún tipo Hasta la aparición de AJAX No podemos leer ni escribir archivos JavaScript 4

Conceptos básicos de Javascript Objetos Elementos que se pueden manipular: ventanas, formularios, navegador, Propiedades (atributos) Métodos Eventos Funciones <html> <head> <title>ejemplo de JavaScript</title> <script language="javascript" type="text/javascript"> function mensaje(){ alert("hola Mundo!!"); } window.onload=mensaje; </script> </head> <body>... </body> </html> JavaScript 5

Dónde se incluye el código? El código Javascript se incluye dentro del documento HTML, dentro del elemento <script> </script> Generalmente al elemento se le añade un atributo "language" y otro "type" para especificar que el script es JavaScript <script language="javascript" type="text/javascript">...</script> Referencia a archivos externos Útil para guiones largos y para no repetir código El archivo externo es un archivo de texto que sólo contiene instrucciones JavaScript <script language="javascript" type="text/javascript" src="fiochero.js">...</script> Dentro de un manejador de eventos <input type="button" value="haz click aqui" onclick="alert('has hecho click sobre mi');"> JavaScript 6

Ocultar los guiones para los navegadores antiguos Puesto que los scripts se ejecutan en el navegador, existe la posibilidad (cada vez más remota) de que el navegador de un cliente sea antiguo y no admita javascript Sin embargo, el usuario puede tenerlo desactivado Para ocultar el script a esta clase de navegadores la sentencias JavaScript se suelen colocar dentro de un comentario de HTML XHTML HTML <script language="javascript type="text/javascript"> <!--... //--> </script> <script language="javascript type="text/javascript"><![cdata[ <!--... //-->]]></script> JavaScript 7

Ocultar los guiones a los navegadores antiguos (cont) También es posible incluir código HTML en el documento para que se muestre únicamente en navegadores que no interpreten JavaScript Este código se incluye en el elemento <noscript> de HTML Los navegadores antiguos no entenderán el elemento e interpretarán el código que contiene Navegador sin soporte de JavaScript <noscript> Su navegador no admite JavaScript, o JavaScript ha sido deshabilitado. <p>pruebe con la <a href="no-js.html">versión sin JavaScript</a> de esta página</p> </noscript> Este código también es mostrado si el navegador tiene desactivado la ejecución de JavaScript JavaScript 8

Uso de Javascript dentro de una página XHTML Los guiones de la págína WEB se procesan secuencialmente Los guiones que hayan en la cabecera se ejecutan al abrir la página. Por tanto no podemos modificar los elementos que aparecen dentro del <body> Los que haya en el cuerpo se ejecutan a medida que se encuentran durante la construcción de la página web. Podemos usar la etiqueta <script> dentro del <head> o dentro del <body> de nuestra página WEB. Lo habitual es que los scripts estén dentro de <head> Excepciones a esta colocación Si el script está diseñado para escribir datos en la página, debe colocarse dentro de <body> Si el script se refiere a un elemento de la página, el script debe colocarse/ser llamado después del elemento En muchas etiquetas HTML se puede añadir sentencias JavaScript como atributos de las mismas JavaScript 9

Ejemplos Ejemplo 1: Aviso por pantalla <html> <head> <title>hola mundo en JavaScript</title> <script type="text/javascript" language="javascript"><!-- alert(" Hola mundo!"); //--></script> </head> <body>...</body> </html> JavaScript 10

Ejemplos Ejemplo 2: Generación de etiquetas HTML <html> <head><title>factoriales</title></head> <body> <script type="text/javascript" language="javascript"><!-- document.write("<h2>tabla de factoriales</h2>"); for(i = 1, fact = 1; i < 10; i++, fact *= i) { document.write(i + "! = " + fact); document.write("<br>"); } //--></script> </body> </html> JavaScript 11

Ejemplos Ejemplo 3: Funciones y eventos <html> <head><title>ejemplo de evento de botón</title> <script language="javascript" type="text/javascript"><! function generaraviso(){ alert("has hecho click sobre mi"); } //--></script> </head> <body> <form> </form> </body> </html> <input type="button" value="haz click aqui" onclick="generaraviso();"> JavaScript 12

Consideraciones iniciales Javascript distingue entre mayúsculas y minúsculas Ej: while (correcto), While, WHILE (incorrectos) Javascript ignora espacios en blanco, tabuladores y saltos de línea entre "tokens" de nuestro guión token: palabra reservada, número, cadenas, nombre de función, Podemos por tanto sangrar nuestros guiones para que sean más legibles. Los ";" son opcionales (aunque recomendables) al final de una instrucción a = 3 b = 4 Equivale a a = 3; b = 4; return true; Equivale a return; true; a = 3; b = 4 Se pueden incluir comentarios al estilo de C/C++/Java // Este es un comentario en línea /* Este es un comentario de varias líneas */ JavaScript 13

Consideraciones iniciales (cont) Identificadores (como en C++/Java) Deben comenzar por una letra o por '_' Pueden contener letras, dígitos y '_' No pueden coincidir con las palabras reservadas Palabras reservadas JavaScript 14

Variables JavaScript es un lenguaje débilmente tipado No se especifica el tipo de la variable Se deduce por el contenido de la variable y el contexto Para declarar una variable se usa la palabra reservada var seguida por una lista de nombres de variables a declarar separadas por ','. var variable1, variable2; JavaScript 15

Tipos de datos literales Números JavaScript permite trabajar con números enteros y con números y punto flotante. Internamente las operaciones se realizan en punto flotante Enteros 0, 15, -3... Punto flotante 0.07, 7.21e+5, -2.17E-3 En hexadecimal, empiezan por 0x 0x23, 0xFA Valores lógicos (Booleanos) Verdadero: true Falso: false JavaScript 16

Tipos de datos literales Cadenas de caracteres Es una secuencia de letras, números, signos de puntuación, etc. encerrados entre comillas dobles " o simples ' Ej: "Creación de Sitios WEB!", 'Iván Martínez Ortiz' Se usan comillas simples cuando no podemos usar comillas dobles <a onclick="alert('has pulsado el enlace')">...</a> Secuencias de escape \' Comilla simple \" Comilla doble \b Retroceso \f Salto de página \n Salto de línea \t Tabulación \\ Barra inclinada \ JavaScript 17

Funciones Para declarar funciones se usa la palabra function, y entre paréntesis la lista de parámetros separados por comas (,) Para que la función devuelva un valor se utiliza la sentencia return No es necesario que una función devuelva nada Los parámetros de las funciones no tienen tipo, al igual que el valor que devuelven Prototipo de declaración de funciones function nombre_funcion ( arg1, arg2,...){ return; } JavaScript 18

Ejemplo Ejemplo de llamada y paso de parámetros a funciones <html> <head> <title>ejemplo sobre funciones JavaScript</title> <style type="text/css"> form { display: inline } </style> <script language="javascript" type="text/javascript"><!-- function init(){ cambiarfondopantalla("red"); } function cambiarfondopantalla(colorfondo){ document.bgcolor = colorfondo; } function buttonhandler(colorfondo){ if( confirm(" Está seguro de querer cambiar el color?")){ cambiarfondopantalla(colorfondo); } } window.onload=init; //--></script> </head> <body> <p>para cambiar el fondo de la pantalla de nuevo a blanco, pulsa </p> <form><input type="button" onclick="buttonhandler('white')" value="aquí"/></form> </body> </html> JavaScript 19

Expresiones Expresiones numéricas Operadores disponibles: +, ++, -, --, *, /, % (módulo). Operadores adicionales: +=, -=, *=, /=, ^= (exponenciación), %= Expresiones de cadenas El operador '+' concatena cadenas Ej: var cadena = "Java"+"Script" NOTA: Si en una expresión el primer operando es una cadena, JavaScript convierte cualquier número de dicha expresión a cadena. Ej: var cad ="2"+2+2 ('cad' tiene almacenada la cadena "222") JavaScript 20

Expresiones Expresiones de comparación Operadores relacionales: ==,!=, >, <, >=, <=, === (identidad),!== (no identidad) Conversión automática de tipos en las comparaciones Si mezclamos en una expresión distintos tipos de datos, JavaScript realiza conversiones automáticas entre tipos para llevar a cabo la comparación. Las reglas son Si un operando es una cadena y el otro un número, JavaScript intenta convertir la cadena a número. Si no se puede convertir la comparación devuelve false var oper1 = "5"; var oper2 = 5; var resultado = oper1 == oper2 Si uno de los operandos es un booleano y el otro un número se convierte el booleano a número (true 1, false 0) var oper1 = true; var oper2 = 1; var resultado = oper1 == oper2 Los operadores ===,!==, realizan una comparación estricta, es decir no se realiza ninguna conversión de tipos para realizar la comparación JavaScript 21

Expresiones Expresiones lógicas Operadores disponibles: && (and), (or),! (not) Ejemplo de expresiones <html> <head><title>pruebas con expresiones booleanas</title></head> <body> <script language="javascript" type="text/javascript"><!-- var val1 = true; var val2 = 10; var val3 = "comprobado"; var val4 = false; var val5 = 0; var val6 = ""; var oper1 = eval(prompt("introduzca el primer operando", true)); var oper2 = eval(prompt("introduzca del segundo operando", true)); var salida = oper1 && oper2; alert(salida); //--></script> </body> </html> Evalúa la expresión antes de asignarla a la variable false && 10? true && 10? JavaScript 22

Estructuras de control Sentencias condicionales: if, switch Sentencia if if( expresion ){ // Sentencias }else{ // Sentencias } NOTA: 0, "", null, undefined son evaluados como false Sentencia switch switch( expresion ){ case Caso1: // Sentencias caso 1 case Caso2: // Sentencias caso 2 case Caso3: // Sentencias caso 3 default: // Sentencias pre } La expresión es evaluada al comienzo de la estructura y debe devolver un valor ya sea númerico, lógico o cadena JavaScript 23

Estructuras de control Bucles: while, for, do.. while Sentencia while while( expresion ){ // Sentencias } Sentencia for for( var contador = valor_inicial; Expresión; contador++){ // Sentencias } Sentencia do... while do { // Sentencias }while(expresion) Sentencias para control de bucles Salir del bucle break Saltar a la siguiente iteración continue JavaScript 24

Referencias http://www.w3schools.com/js/default.asp http://www.mozilla.org/catalog/web-developer/ http://www.mozilla.org/js/ http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnanchor/html/anch_webdev.asp JavaScript 25

Críticas, dudas y sugerencias Federico Peinado www.federicopeinado.es JavaScript 26