CI-2413 Desarrollo de aplicaciones para Internet Javascript CI-2413 Desarrollo de aplicaciones para Internet
Versiones de Javascript NN 2.0 / IE 3.0 (Con errores y poco confiable) Javascript 1.0 NN 3.0 Javascript 1.1 NN 4.0 / IE 4.0 Javascript 1.2 (En IE conocido como JScript) NN 6.0 / IE 6.0 Javascript 1.5
Agregando el código al HTML Ejemplo: <script language="Javascript"> <!-- document.write("¡Hola mundo!"); // --> </script> <script language="Javascript1.2">
Agregando el código al HTML Ejemplo: <script language="JavaScript" src="functions.js"></script> La última norma de HTML disponible en http://www.w3.org/TR/html401/interact/scripts.html recomiendo utilizar: <script type="text/javascript"></script>
Agregando el código al XHTML Ejemplo: <script type="text/javascript"> //<![CDATA[ alert("<Esto es compatible con XHTML>"); //]]> </script>
Gramática Elementos: Variables Operadores Expresiones Declaraciones Objetos Los objetos son muy importantes, porque gracias a unos objetos predefinidos del lenguaje podemos acceder a las diferentes características de una página HTML. Esto se llama "Document Object Model". Funciones y métodos
Variables y tipos de datos Se crea una variable global nueva simplemente asignando un valor: nuevaVariable = 5; Sin embargo, dentro de las funciones si se desea una variable con alcance local se utiliza var: function nuevaFuncion() { var ciclo=1; total=0; }
Variables y tipos de datos Javascript no tiene chequeo fuerte de tipo. Tipos Números Booleanos Hileras Objetos Nulo Indefinido Los operadores pueden comportarse diferente dependiendo del tipo.
Operadores Aritméticos + Adición - Sustracción * Multiplicación % Módulo ++ Incremento unario -- Decremento unario - Negación unaria: devuelve la negación del operando.
Operadores Comparación == Igual a != Diferente > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que
Operadores Booleanos && Y || O ! No Hileras + Concatenación
Operadores Asignación Especiales = +=,-=,*=,/= &=,|= Especiales (condición) ? valorSi : valorNo typeof Devuelve el tipo. Expresiones regulares (JavaScript 1.2)
Estructuras de control if ... else if (condición) { declaraciones1; } else declaraciones2;
Estructuras de control switch switch (expresión) { case valor : declaración; break; ... default : declaración; }
Estructuras de control for for (declaraciónInicial; prueba; incremento) { declaraciones; }
Estructuras de control do ... while do { declaraciones; } while (condición);
Estructuras de control while while (condición) { declaraciones; }
Estructuras de control break y continue funcionan para JavaScript como en otros lenguajes. for in for (variable in objeto) { declaraciones; }
Estructuras de control with with (objeto) { declaraciones; }
Comentarios Se pueden utilizar comentarios de una línea o de varias: // comentario de una línea /* comentario que permite escribir en varias líneas */
Funciones Sintaxis function nombre(arg1,arg2,...) { statements; } Se recomienda escribir las funciones en el encabezado HTML (<head></head>), ya que este se carga antes del resto del documento.
Objetos Document Object Model Es un modelo de objetos predefinidos. Esta jerarquía de objetos depende del navegador.
Objetos Propiedades: O: carro.fabricante = "Toyota" carro.modelo = "Camry" carro.anyo = "1990" document.write(carro.anyo); O: carro['fabricante'] = "Toyota" carro['modelo'] = "Camry" carro['anyo'] = "1990" document.write(carro['anyo']);
Objetos Métodos: Creación: Asignación de métodos: window.close(); miPerro = new Object(); miPerro.nombre = "Scooby Doo"; Asignación de métodos: miPerro.Huir = Huir;
Objetos Constructor: function Perro(nombre) { this.nombre = nombre; } miPerro = new Perro("Scooby Doo");
Eventos Para ver los posibles eventos de cada etiqueta HTML ver http://w3.org/TR/html401. Para cada navegador en el sitio web del fabricante se pueden encontrar los eventos disponibles. Sintaxis básica: <etiqueta atributo1 atributo2 onNombreEvento="código javascript;">
Excepciones
Excepciones Ejemplo: try { ejecute este bloque } catch (error) { ejecute este bloque si hay error }
Excepciones Ejemplo: try { colores[2] = "rojo"; } catch (e) { if (e instanceof TypeError) { alert(“Variable errónea o indefinida…"); } }
Excepciones Tipos de excepciones: EvalError – Se alcanza cuando la función eval() es utilizada en una manera incorrecta; RangeError – Se alcanza cuando una variable numérica sobrepasa su valor máximo; ReferenceError – Se alcanza cuando se utiliza una referencia inválida; SyntaxError – Se alcanza cuando un error de sintáxis ocurre mientras se parsea código JavaScript; TypeError – Se alcanza cuando el tipo de una variable no es el que se esperaba; URIError – Se alcanza cuando las funciones encodeURI() o decodeURI() son utilizadas de una manera incorrecta;
Excepciones Ejemplo: try { colores[2] = "rojo"; } catch (e) { alert(“Ocurrió un error. Nombre: " + e.name + ". Mensaje: " + e.message); }
Excepciones (finally) Ejemplo: try { ejecute este bloque } catch (error) { ejecute este bloque si hay error } finally { ejecute este bloque siempre }
Excepciones (throw) Ejemplo: if (document.forms[0].edad.valor > 99) { throw RangeError; }
Excepciones: (Error) Ejemplo: ErrorNombre = new Error (“El nombre de usuario del sistema no empareja con el usuario real."); throw ErrorNombre;
Lecturas recomendadas Norma ECMA Script Netscape's JavaScript Guide Netscape's JavaScript Documentation Library Microsoft JScript Documentation Microsoft Scripting TechnologiesM Microsoft DHTML References Microsoft DHTML Object Model