Clases y objetos en JavaScript



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

Lo básico de Javascript. ISIS2603 Departamento de Sistemas y Computación Universidad de los Andes

APLICACIONES PARA INTERNET

HTML dinámico: Javascript

Tecnología de Programación

Diseño de sitios Web mediante estándares

LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

Desarrollo Web en Entorno Servidor

Carlos Roberto Jaimez González. Programación de Web Dinámico

JavaScript como Orientación a Objetos

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

EXTENSIÓN DE UML PARA APLICACIONES WEB

Formularios HTML. Elementos de Programación y Lógica

CLASS JAVASCRIPT CLASES? OBJETOS PREDEFINIDOS. WINDOW, OBJETO GLOBAL. NUMBER, MATH, DATE, REGEXP, ERROR. (CU01144E)

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

1. Introducción Perfiles de Usuarios Definir el primer perfil Añadir perfiles Introducción a Internet

Introducción a la Web 2.0

XPERTO EN DISEÑO DE PÁGINAS WEB

HTML. HTML (HyperText Markup Language) Creado en 1989 por el físico nuclear TIM BERNERS- LEE

aplicaciones web: ASP, CFM, JSP y PHP

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

DESARROLLO WEB EN ENTORNO CLIENTE

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B)

8º Unidad Didáctica PHP. Eduard Lara

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages).

Tema 7. Construcción de Applets en Java

Tema 1. Introducción a JAVA

Componentes de presentación

Índice. Programación en Internet Curso Introducción El DOM en PHP. Programación en Internet DLSI - Universidad de Alicante 1

PROGRAMACIÓN PÁGINAS WEB CON PHP

Tema 1: Introducción a las Aplicaciones Web. Contenidos:

Tema 5: Tecnologías Web

XHTML. Sergio Luján Mora.

EJEMPLO DE APERTURA Y CIERRE DE UNA ETIQUETA.

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

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

1 OBJETOS, DOM, JSON

Tema 6 Parte III. Frameworks web para dispositivos móviles

Fundamentos de las tecnologías de la información

Introducción Programar es enseñar Iniciación a la programación Finalidad de este libro

Curso Online de Diseño Web avanzado con HTML5 y CSS3

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

Tema 5: La red de redes: Internet

Tutorial Servicios Web

Gestión de eventos y formularios en JavaScript.

UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE TEMA: XHTML CATEDRA: INTRODUCCION A LA PROGRAMACION EN INTERNET

Tema 3.1: Principios de diseño web accesibles

XAJAX: una librería de AJAX para PHP (parte 1)

El lenguaje de programación Java

DISEÑO ORGANIZACIONAL. Diseño web avanzado con HTML5 y CSS5

Java Avanzado Facultad de Ingeniería. Escuela de computación.

XML Namespaces. Sergio Luján Mora.

CEFIRE: Curso Administración de APACHE

Redes de Computadoras Práctica 4: World Wide Web

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

DATOS ESPECÍFICOS DEL CURSO

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

Imágenes y objetos IMÁGENES

ANEXO I I. IDENTIFICACIÓN DEL CERTIFICADO DE PROFESIONALIDAD Denominación: Confección y Publicación de Páginas Web Código: IFCD0110 Familia

Guía del Curso Analista Programador PHP Javascript

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect

Qué es una aplicación web

CGI. Qué significa CGI?

5.1 Introducción a XSL

Javascript parte II: AJAX

Visor SVG de Adobe para Windows

Unidad V: Programación del lado del servidor

Ejercicios y cuestiones

Práctica 2: Diseño Web inicial. XHTML avanzado.

PÁGINAS DINÁMICAS WEB CON PHP. Unidad 4 Aplicaciones Web

Certificado de Profesionalidad CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB [Nivel 2]

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

PHP: Introducción. Francisco J. Martín Mateos Carmen Graciani Diaz. Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Programación páginas web con ASP.NET 3.5 (C#)

Ejercicios del bloque de Web de Sistemas de Información:

PHP: Interacción con HTML

BREVE INTRODUCCION A ASP.NET MVC

Noviembre Qué es jquery? Por: César Amauri Villarreal Fuentes QUÉ ES JQUERY? NOVIEMBRE 2013

Programación Avanzada para Sistemas de Telecomunicación Arrays

15. Parámetros o argumentos

9. Objetos y clases Clases

Transcripción:

Clases y objetos en JavaScript Sergio Luján Mora Departamento de Lenguajes y Sistemas Informáticos JavaScript Nombre original: Mocha LiveScript (1995) Netscape 2.0B3 (diciembre 1995) Lenguaje más estándar para script en Internet Cliente (Netscape Communicator) y servidor (Netscape Enterprise Server) JavaScript s LiveConnect Java 1

JavaScript Lenguaje más estándar Indicado para programadores que provienen de C, C++ o Java No confundir con Java (Sun Microsystems) Microsoft: tiene su dialecto denominado Jscript (y JScript.NET) JavaScript Dónde se usa: Cliente: Internet Eplorer, Netscape Navigator, Opera, Mozilla, etc. Servidor: ASP, Netscape Enterprise Server Otros: PDF 2

Aplicaciones Durante muchos años era el único método para añadir dinamismo e interactividad a las páginas web En la actualidad eisten otras alternativas, pero sigue siendo la tecnología más compatible Aplicaciones JavaScript, DOM (Document Object Model) y BOM (Browser Object Model) son la combinación que permiten la programación en el cliente: Validar entrada del usuario: Rd Reduce carga servidor Reduce retrasos por errores usuario Simplifica los programas Proporcionar dinamismo, junto con DHTML u otras tecnologías 3

JavaScript y Applets de Java JavaScript Applets de Java Compilado a bytecodes Basado en clases Objeto integrado Tipos estáticos Fuertemente tipado JavaScript y Applets de Java JavaScript Interpretado Basado en objetos Código integrado Tipos dinámicos No tipado Applets de Java Compilado a bytecodes Basado en clases Objeto integrado Tipos estáticos Fuertemente tipado 4

Versiones Netscape y Mozilla Versión de JavaScript Versión de Navigator JavaScript 1.0 Navigator 2.0 JavaScript 1.1 Navigator 3.0 JavaScript 1.2 Navigator 4.0 4.05 JavaScript 1.3 Navigator 4.06 4.78 JavaScript 1.4 Ningún navegador JavaScript 1.5 Navigator 6. y Mozilla Application Suite, Firefo 1.0 JavaScript 1.6 Firefo 1.5 JavaScript 1.7 Firefo 2 JavaScript 2.0 En desarrollo Versiones Microsoft Host Application 1.0 2.0 3.0 4.0 5.0 5.1 5.5 5.6.NET 8.0 Microsoft Internet teplorer 30 3.0 Microsoft Internet Information Server 3.0 Microsoft Internet Eplorer 4.0 Microsoft Internet Information Server 4.0 Microsoft Internet Eplorer 5.0 Microsoft Internet Eplorer 5.01 Microsoft Windows 2000 Microsoft Internet Eplorer 55 5.5 Microsoft Windows Millennium Edition Microsoft Internet Eplorer 6.0 Microsoft Windows XP Microsoft Windows Server 2003 Microsoft.NET Framework 1.0 5

ECMAScript Ecma International ECMA 262 Ed. 1: junio 1997 Ed. 2: junio 1998 Ed. 3: diciembre 1999 JavaScript y JScript son una implementación de ECMAScript, pero proporcionan características adicionales Cómo se usa en un navegador Tres sitios: Entre <script> y </script> en head o body Atributos etiquetas HTML Eventos: onclick, onblur, onchange,... Enuna URL (pseudoprotocolo): <a href="javascript:"> </a> Importante: el código que se ejecute tiene que haberse cargado antes de ser invocado 6

Cómo se usa en un navegador Es mejor separar el código JavaScript en un fichero separado <script></script>: charset: juego de caracteres src: URL del código type: tipo MIME que especifica el lenguaje de programación defer="defer": el script no genera contenido (document.write) Se aconseja no emplear el atributo language Objetos (1) Lenguaje basado en objetos, pero no orientado a objetos No hay clases, herencia, visibilidad, etc. Sentencias: for (... in...) y with() Operador. o [ ] (arrays asociativos) window.status = "Bienvenido a JavaScript"; window.alert("2 + 2 = " + (2 + 2)); window["status"] = "Bienvenido a JavaScript"; window["alert"]("2 + 2 = " + (2 + 2)); 7

Creación de objetos: Objetos (2) Inicializadores de objetos: objeto = {prop1:val1,..., propn:valn}; Funciones constructoras: function ObjConstructor(arg1,..., argn) { this.prop1 = arg1;...; this.propn = argn; } objeto = new ObjConstructor(val1,..., valn); Objetos (3) Constructor: Una función que inicializa los miembros y hace las llamadas necesarias El nombre de la función es el nombre de la clase function miclase(...) { this.mivar = 5; this["mivar2"] = 6; }; 8

Objetos (4) Métodos de un objeto: Asignad a una propiedad del objeto el nombre de una función Para invocar el método, hay que poner paréntesis () Acceso a los miembros en el propio objeto: Emplead en la función this Objetos (5) Ejemplo: var obj = new Object(); obj.mivariable = 5; obj["mivariable2"] = 6; obj.mifuncion = function() { alert(this.mivariable); }; obj.mifuncion(); 9

Objetos (6) <html> <head> <title>una página de prueba</title> <script type="tet/javascript"> function Circulo(, y, r) { this. = ; this.y = y; this.r = r; this.mostrar = function() { alert("(" + this. + ", " + this.y + ", " + this.r + ")"); } } Objetos (7) c1 = new Circulo(1, 2, 3); c2 = new Circulo(9, 8, 7); c1.mostrar(); c2.mostrar(); </script> </head> <body> <p> Un párrafo de prueba. </p> </body> </html> 10

Objetos (8) Construcción mediante prototipos Métodos y propiedades: Se definen como elementos del array prototype miclase.prototype = { metodo1: function() {... }, metodo2: function() {... },... }; miclase.prototype.dato =...; miclase.prototype.metodo = function() {...}; Objetos (9) <html mlns="http://www.w3.org/1999/html" ml:lang="es" lang="es"> <head> <title>prueba 05</title> <meta http-equiv="content-type" content="tet/html; charset=utf-8" /> <script type="tet/javascript"> function Circle() { } Circle.prototype.pi = 3.14159; function alertmessage() { alert(this.pi); } 11

Objetos (10) var circulo1 = new Circle() var circulo2 = new Circle() circulo1.alertpi(); circulo2.alertpi(); circulo1.pi = 0; circulo1.alertpi(); circulo2.alertpi(); </script> </head> <body> <p> Una prueba. </p> </body> Objetos (11) El uso de prototipos también permite modificar los objetos integrados (builtin) de JavaScript, como Array, Date o String Imprescindible para etender JavaScript y Imprescindible para etender JavaScript y crear tus propias librerías 12

Objetos (12) Ejemplo: etender el objeto String para añadirle un método que escribe el teto en sentido contrario <script type="tet/javascript"> function outputbackwards(){ for(i = this.length - 1; i >= 0; i--) document.write(this.charat(i)); } String.prototype.writeback = outputbackwards; </script> Objetos (13) <script type="tet/javascript"> var message1 = "Welcome to my site!"; message1.writeback(); var message2 = "Today is a beautiful day"; message2.writeback(); </script> // Produce como salida:!etis ym ot emoclew yad lufituaeb a si yadot 13

Objetos (y 14) Eliminación de objetos delete 14