Introduccion A JavaScript
Introduccion A JavaScript
Introducción a JavaScript
1. Sintaxis de JavaScript
Objetivos: Al finalizar la unidad el participante conocerá los principios del lenguaje
JavaScript.
No hay que confundir Java con JavaScript. Java es un lenguaje completo que permite
crear aplicaciones independientes, mientras que JavaScript es un lenguaje que
funciona como extensión del HTML, que está orientado a objetos, diseñado para el
desarrollo de aplicaciones cliente-servidor a través de Internet.
1 Junio 1997
2 Junio 1998
3 Diciembre 1999
4 Abandonada
5 Diciembre 2009
6 Junio 2015
7 En proceso
<!DOCTYPE html>
<html>
<head>
<title>Hola Mundo</title>
<meta charset="utf-8">
<script>
//los objetos de JS son navigator, document, window y history
document.write("Hola Mundo");
alert("Hola Mundo 2");
console.log("Hola Mundo 3");
</script>
</head>
<body>
</body>
</html>
Listado 2.1.
El texto anterior muestra en pantalla una línea con el texto Hola Mundo. JavaScript es
un lenguaje de programación Case Sensitive, es decir, que distingue las mayúsculas de
las minúsculas, por lo que tendremos que prestar atención a la utilización de variables y
comandos.
<!DOCTYPE html>
<html>
<head>
<title>Llamar a un archivo externo de JS</title>
<meta charset="utf-8">
<script src="js/saludo.js"> </script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Comentarios</title>
<meta charset="utf-8">
<script>
//Este es un comentario de línea
/****Variables******/
/****Funciones*******/
/****Inicio ******/
</script>
</head>
<body>
</body>
</html>
Todo el código que ejecuta una función debe ir bien diferenciado del resto mediante
corchetes.
El primer carácter debe ser siempre una letra o el guión subrayado ( _ ). Los restantes
caracteres pueden ser letras, números o el guión subrayado, teniendo como precaución
no dejar espacios entre ellos.
var nombre;
var dirección;
var entrada_valor_concreto;
var variable_numero_12;
var 1dato;
var entrada datos;
var while;
var new;
Se recomienda utilizar siempre la misma pauta para definir los nombres de las
variables. Se puede escribir en minúsculas, o bien la primera mayúscula y las demás
minúsculas. Aunque las siguientes variables parezcan iguales, JavaScript las
interpretará como diferentes.
var resultadosuma
var Resultadosuma
var resultadoSuma
var RESULTADOSUMA
var resultado suma
var resultadosumA
Un cuarto tipo podrían ser los datos Nulos (null) . Estos se utilizan para comprobar si a
una variable se le ha asignado un valor o no. Null r epresenta un valor nulo para
cualquier tipo de variable; por el contrario, una variable que no ha sido iniciada tiene un
valor undefined.
var pais=”México”;
var entrada_codigo;
entrada_codigo=”54054”;
var valor=” ”;
Las comillas simples serán utilizadas dentro de fragmentos de código delimitados por
comillas dobles o viceversa.
Ejemplo:
Hay una serie de caracteres que permiten representar funciones especiales, como
podría ser un salto de línea en un texto o, por ejemplo, las comillas. A continuación se
presenta una lista:
\b carácter anterior
\f salto de página
\n salto de línea
\r retorno de carro
\t tabulador
\\ carácter
\‘ comilla simple
\“ comilla doble
<html>
<head>
<title>Ejemplo de Cadena de texto</title>
<script language="javascript">
var cadena1="Esto es una cadena de texto que no utiliza ningún caracter especial";
var cadena2="Esto es una cadena \nde texto que si utiliza \ncaracateres especiales";
alert (cadena1);
alert (cadena2);
</script>
</head>
<body>
</body>
</html>
Enteros
JavaScript puede utilizar tres bases distintas para números enteros: la decimal (base
10), la hexadecimal (base 16) y la octal (base 8). Por defecto el sistema es el decimal.
var numero;
numero = 100;
numero = -1000;
var numero_octal;
numero_octal = 03254;
numero_octal = 02;
Para un valor hexadecimal deberemos anteponer al número el prefijo 0x. Los números
en hexadecimal incluyen los dígitos del 0 al 9 y las letras comprendidas entre la A y la F
ambas inclusive.
var numero_hex;
numero_hex = 0xff;
numero_hex = 0x12f;
Coma flotante
var numero_coma_flotante;
numero_coma_flotante=10.236;
numero_coma_flotante=43.433e+2;
numero_coma_flotante= -56.25;
var estoy_contento;
estoy_contento=false;
estoy_contento=true;
++ ++ valor1 Preincremento
++ valor1 ++ Posincremento
-- -- valor1 Predecremento
-- valor1 -- Posdecremento
- - valor1 Negación
Las variables valor1, valor2, valor3 son las encargadas de contener los números con
los que se van a realizar las operaciones aritméticas básicas. Los resultados de dichas
operaciones aritméticas básicas. Los resultados de dichas operaciones se guardan en
una variable a la que se le ha dado el mismo nombre que el operador utilizado. Así
pues, la variable que contiene el resultado de sumar dos números se llama suma, y el
resultado de la sustracción se almacena en resta y así sucesivamente.
var variable=”Pepe”;
var numero=1;
var fecha=new Date();
document.write(typeof variable + ¨<br>¨);
document.write(typeof numero + ¨<br>¨);
document.write(typeof fecha + ¨<br>¨);
El resultado es:
variable = string
numero = number
fecha = object
3. Sentencias condicionales
Objetivo: El alumno comprenderá el uso de las diferentes sentencias condicionales
con los if, estructuras anidadas o el condicional switch.
Sintaxis:
if(){
//instrucciones
}
Ejemplo:
<script>
var edad = prompt("¿Cuál es tu edad?");
if(edad > 18){
alert("Bienvenido a nuestra página");
}
</script>
Nota: No se muestran las etiquetas de HTML básicas para ahorrar espacio. Puede ver
el listado en los archivos del curso.
Sintaxis:
if(condicional){
//instrucciones
} else {
//instrucciones
}
Ejemplo:
Una estructura de tipo “else if” podemos hacer después de una pregunta falsa, otra
pregunta. Si todas son falsas, se ejecuta el “else” Si una pregunta es verdadera, las
demás preguntas no se realizan.
if (clave=="Diamante") {
alert("Bienvenido James Bond");
} else {
alert("Lo sentimos, usted es un impostor");
}
}
} else if (nombre=="Pablo") {
alert("Bienvenido Pablo Marmol");
} else {
alert("Hola, a ti no te conozco");
}
Ejemplo:
Ejemplo:
Ejemplo:
case "abandonado":
case "abandonada":
mensaje2 = "donde podrás recordar tus mejores tiempos ";
break;
case "arrejuntado":
case "arrejuntada":
mensaje2 = "donde podrás tomar esa importante decisión ";
break;
default:
mensaje2 = "donde podrás definir tu situación personal ";
}
mensaje3 = " en una extraordinaria experiencia en la naturaleza";
document.write(mensaje+mensaje2+mensaje3);
Si la variable nombre es Juan, el resultado será “Me llamo Juan”. En caso contrario el
resultado será “Tú no eres Juan”.
Cuando sólo tenemos una instrucción en una estructura condicional, podemos omitir
las llaves:
if(condición) verdadera
else otraSentencia
Ejemplo:
4. Ciclos en JavaScript
Objetivo: El alumno creará ciclos como whiles, do... while o for.
//Valor inicial
var i = 10;
while(i>0){
document.write(i+"<br>");
//incremento o decremento
i -= 2.25;
}
document.write("Salida :"+i+"<br>");
}while(true)
Ejemplo:
//continue
for (var i = 0; i < 10; i++) {
if (i%2==0) {
continue;
}
document.write("El valor de i es :"+i+"<br>");
}
//break
var numero = 0;
var intentos = 1;
var magico = 7;
while(numero!=magico){
numero=prompt("Adivina el número mágico entre 0 -10 intento "+intentos+" de
3");
if (numero==magico) {
alert("El "+magico+" es el número mágico");
break;
}
//incrementamos
intentos++;
if (intentos==4) {
alert("Lo sentimos, eres muy mal adivinador");
break;
}
}
5: Funciones en JavaScript
Objetivo: El alumno aprenderá a crear funciones y estructurar sus programas a base
de ellas.
Una función puede incluir llamadas a otras funciones definidas en la aplicación, pero
únicamente de la página actual. Una opción interesante es definir las funciones en el
encabezado del documento de manera que, cuando se inicialice la página, las
funciones se definan antes de cualquier acción del usuario. La sintaxis de definición de
una función sería:
Ejemplo: Se define una función llamada saludo que será posteriormente llamada para
mostrar la cadena de texto especificada.
<html>
<head>
<title>Ejemplo de funciones</title>
<script language="javascript">
function saludo()
{
document.write("Hola amigos, esto es un saludo");
}
</script>
</head>
<body>
<script language="javascript">
saludo();
</script>
</body>
</html>
<html>
<head>
<title>Ejemplo de funciones</title>
<script language="javascript">
function Mensaje(Respuesta)
{
if(Respuesta==0) alert("La respuesta es correcta");
if(Respuesta==2) alert("La respuesta es incorrecta. Repasa la leccion 10");
<html>
<head>
<title>Ejemplo de funciones</title>
<script language="javascript">
function mitad(valor)
{
return valor/2;
}
</script>
</head>
<body>
<script language="javascript">
Si se intenta utilizar una variable local en un ámbito global, JavaScript dará un mensaje
de error diciendo que la variable no está definida.
6: Manejo de cadenas
Objetivo: El alumno modificará las cadenas y subcadenas, así como leerá los
caracteres de una subcadena.
En este caso, al definir una variable con una cadena de texto ya estamos utilizando un
objeto String, es decir, no será necesaria si declaración.
var cadenaTexto;
cadenaTexto=”Aquí esta la cadena de texto”;
Los objetos de tipo String disponen de una serie de métodos que permiten modificar y
devolver el valor de la cadena de texto.
var cadena;
Los objetos String() disponen de las propiedades length, que determina el número de
caracteres de la cadena, y prototype, que permite añadir nuevas propiedades y
métodos (más adelante serán tratadas).
cadena.indexOf(valorBusqueda[, indiceDesde])
Ejemplo:
console.log(punto);
//Primera validación: longitud
if (correo1.length<10) {
document.write("La clave de acceso es muy corta<br>");
} else if(pos==-1){
document.write("El correo no tiene la arroba<br>");
} else if(punto==-1){
document.write("El correo debe de tener al menos un punto<br>");
} else if (!(correo1.toUpperCase()==correo2.toUpperCase())) {
document.write("Las claves NO coinciden<br>");
} else {
document.write("Las claves coinciden<br>");
}
email.slice(pos+1);
email.substr(0,pos);
Ejemplo:
console.log(pos);
var punto = correo2.indexOf(".",pos);
console.log(punto);
//Primera validación: longitud
if (correo1.length<10) {
document.write("La clave de acceso es muy corta<br>");
} else if(pos==-1){
document.write("El correo no tiene la arroba<br>");
} else if(punto==-1){
document.write("El correo debe de tener al menos un punto<br>");
} else if (!(correo1.toUpperCase()==correo2.toUpperCase())) {
document.write("Las claves NO coinciden<br>");
} else {
servicio = correo2.slice(pos+1).toLowerCase();
usuario = correo2.substr(0,pos).toLowerCase();
document.write("Tu servicio de correo es: <b>"+servicio+"</b><br>");
document.write("Tu usuatrio de correo es: <b>"+usuario+"</b><br>");
document.write("Las claves coinciden<br>");
}
var c = invalidos.charAt(i);
function caracteresInvalidos(cadena){
var invalidos = "áéíóúÁÍÓÚÑñ ()<>,;:[]ç%&";
var bandera = false;
for(i=0; i<invalidos.length; i++){
var c = invalidos.charAt(i);
if(cadena.indexOf(c)!=-1){
bandera = true;
break;
}
}
return bandera;
}
//Variables
var correo1 = "[email protected]";
var correo2 = "[email protected]";
//[email protected]
//012345678
var pos = correo2.indexOf("@");
console.log(pos);
var punto = correo2.indexOf(".",pos);
console.log(punto);
//Primera validación: longitud
if (correo1.length<10) {
document.write("La clave de acceso es muy corta<br>");
} else if(pos==-1){
document.write("El correo no tiene la arroba<br>");
} else if(punto==-1){
document.write("El correo debe de tener al menos un punto<br>");
} else if(caracteresInvalidos(correo2)){
document.write("El correo tiene caracteres inválidos<br>");
} else if (!(correo1.toUpperCase()==correo2.toUpperCase())) {
OpenAustralia=new Array();
OpenAustralia[0]=”Sergi Bruguera”;
OpenAustralia[1]=”Alex Corretja”;
OpenAustralia[2]=”Felix Mantilla”;
OpenAustralia[3]=”Peter Sampras”;
OpenAustralia[4]=”Gustavo Kuerten”;
Para arreglos mayores hay una propiedad del objeto Array() llamada length, que facilita
el número de elementos disponibles en la matriz.
document.write(“Tengo”+OpenAustralia.length+”elementos en mi matriz.”);
OpenAustralia[3]=””;
OpenAustralia[4]=null;
Con esto los elementos tres y cuatro no tendrán contenido. Ejemplo completo de la
matriz OpenAustralia en el que se aplican los métodos vistos.
OpenAustralia=new Array();
OpenAustralia[0]="Sergi Bruguera";
OpenAustralia[1]="Alex Corretja";
OpenAustralia[2]="Feliz Mantilla";
OpenAustralia[3]="Peter Sampras";
OpenAustralia[4]="Gustavo Kuerten";
document.write("Tengo "+OpenAustralia.length+" elementos en mi matriz."+"<br>");
document.write("Aqui estan relacionados"+"<br>"+OpenAustralia.join()+"<br>");
document.write("Ahora al reves"+"<br>"+OpenAustralia.reverse().join()+"<br>");
document.write("Ahora ordenados
alfabeticamente"+"<br>"+OpenAustralia.sort().join()+"<br>");
document.write("Ahora ordenados alfabeticamente y al
reves"+"<br>"+OpenAustralia.sort().reverse().join()+"<br>");
//variable asociada
var dias = new Array();
//crear un arreglo "al vuelo"
var meses = [];
//populate / poblar
dias[0] = "Domingo";
dias[1] = "Lunes";
dias[2] = "Martes";
dias[3] = "Miércoles";
dias[4] = "Jueves";
dias[5] = "Viernes";
dias[6] = "Sábado";
//barrer el arreglo
for (var i = 0; i < dias.length; i++) {
document.write("Ho es el día "+dias[i]+"<br>");
}
for(alumnos in meses){
document.write("Alumnos inscritos en el mes de "+alumnos+" es de
"+meses[alumnos]+"<br>");
}
document.write("<hr>");
var jugadores = new Array("Pepe", "Toño", "Gustavo", "Paco");
jugadores.push("Rafael");
for (var i = 0; i < jugadores.length; i++) {
document.write(jugadores[i]+"<br>");
}
//variable asociada
var dias = new Array();
//crear un arreglo "al vuelo"
//populate / poblar
dias[0] = "Domingo";
dias[1] = "Lunes";
dias[2] = "Martes";
dias[3] = "Miércoles";
dias[4] = "Jueves";
dias[5] = "Viernes";
dias[6] = "Sábado";
//barrer el arreglo
for (var i = 0; i < dias.length; i++) {
document.write("Ho es el día "+dias[i]+"<br>");
}
for(alumnos in meses){
document.write("Alumnos inscritos en el mes de "+alumnos+
" es de "+meses[alumnos]+"<br>");
}
document.write("<hr>");
var jugadores = new Array("Pepe", "Toño", "Gustavo", "Paco");
jugadores.push("Rafael");
for (var i = 0; i < jugadores.length; i++) {
document.write(jugadores[i]+"<br>");
}
document.write("<hr>");
document.write("Los jugadores en orden alfabético son: "+jugadores.sort()+"<br><br>");
document.write("<hr>");
document.write("Los jugadores en orden inverso son:
"+jugadores.reverse()+"<br><br>");
document.write("<hr>");
jugadores.push("Carlos","Messi");
document.write("La nueva lista de jugadores es: "+jugadores+"<br><br>");
//splice() extraemos los elementos del arreglo a partir del "n" elemento
//extraemos "m" elemento
document.write("<hr>");
var expulsados = jugadores.splice(1,2);
document.write("La nueva lista de jugadores es: "+jugadores+"<br><br>");
document.write("La lista de elementos expulsados es: "+expulsados);
Propiedades de un objeto
Un objeto en JavaScript tiene una serie de propiedades asociadas a él. Para acceder a
dichas propiedades utilizaremos la notación punto.
Ejemplo: Imaginemos un objeto llamado computadora, con las propiedades marca, cpu
y memoria.
computadora.marca=”HP”;
computadora.cpu=”pentium150”;
computadora.memoria=”64mb”;
Un método es una función asociada a un objeto y particular a los objetos del tipo que
las define. Así pues, un método es una acción que ejecutamos sobre los datos de un
objeto.
Los métodos
Los métodos se definen en el mismo sitio que las funciones y de la misma manera,
asociándose posteriormente a un objeto ya existente.
Objeto.nombreMetodo=nombreFuncion
Objeto.nombreMetodo(parametro1,parametro2..)
JavaScript dispone de una serie de objetos predefinidos, pero también podemos crear
nuestro propios objetos según sea necesario. Los pasos a seguir para definir un objeto
nuevo son dos:
● Definir un tipo de objeto a través de una función
● Crear una instancia del objeto usando la palabra new.
function nombreTipoObjeto(propiedad1,propiedad2,…)
{
this.propiedad1=propiedad1
this.propiedad2=propiedad2
…
}
function Computadora(marca,cpu,memoria)
{
this.marca=marca;
this.cpu=cpu;
this.memoria=memoria;
}
Recuerde que pueden crearse tantas instancias de un tipo como sean necesarias.
miComputadora=new Computadora(“HP”,”Pentium150”,”64Mb”)
miComputadora_Dos=new Computadora(“Philips”,”Pentium200”,”64Mb”)
miComputadora_Tres=new Computadora(“Acer”,”Pentium133”,”164Mb”)
function Computador(marca,cpu,memoria)
{
this.marca=marca;
this.cpu=cpu;
this.memoria=memoria;
}
miComputador=new Computador("HP","Pentium150","64Mb")
miComputador_Dos=new Computador("Philips","Pentium200","64Mb")
miComputador_Tres=new Computador("Acer","Pentium133","16Mb")
var mensaje;
mensaje="miComputador\nmarca:"+miComputador.marca+"\n"
+"cpu:"+miComputador.cpu+"\n"
+"memoria:"+miComputador.memoria+"\n";
alert(mensaje);
mensaje="miComputador_Dos\nmarca:"+miComputador_Dos.marca+"\n"
+"cpu:"+miComputador_Dos.cpu+"\n"
+"memoria:"+miComputador_Dos.memoria+"\n";
alert(mensaje);
mensaje="miComputador_Tres\nmarca:"+miComputador_Tres.marca+"\n"
+"cpu:"+miComputador_Tres.cpu+"\n"
+"memoria:"+miComputador_Tres.memoria+"\n";
alert(mensaje);
El objeto Date permite trabajar con horas y fechas. JavaScript maneja las fechas en
milisegundos desde 1/1/1970 a las 00:00:00 horas. Por lo que no se puede trabajar
con fechas anteriores.
Para crear una variable de fecha se debe establecer un nombre para la instancia del
objeto y su respectivos parámetros. Los formatos pueden ser los siguientes:
El objeto Date posee muchos métodos para manejar fechas y horas, así pues, veamos
dichos métodos:
Los métodos set los utilizaremos para fijar la fecha y la hora, los métodos get p
ara
obtener fechas y horas, to para obtener dichos valores como cadenas y parse para
convertir cadenas que tengan fechas y horas.
fecha=new Date;
dia=fecha.getDay();
if(dia==0){
document.write("Hoy es Domingo");
}
if(dia==1){
document.write("Hoy es Lunes");
}
if(dia==2){
document.write("Hoy es Martes");
}
if(dia==3){
document.write("Hoy es Miercoles");
}
if(dia==4){
document.write("Hoy es Jueves");
}
if(dia==5){
document.write("Hoy es Viernes");
}
if(dia==6){
document.write("Hoy es Sabado");
}
Ejemplo:
var valorPi;
valorPI=Math.PI;
document.write("La variable Pi tiene como valor:"+valorPI);
A continuación relacionamos los métodos, que son los elementos que nos permiten
realizar operaciones.
● abs(n) Calcula el valor absoluto de n.
● acos(n) Calcula el arcocoseno de n.
● asin(n) Calcula el arcoseno de n.
● atan(n) Calcula el arcotangente de n.
● ceil(n) Redondea un número hacia el superior.
● cos(n) Calcula el coseno de un número n.
● exp(n) Calcula un exponencial del número e.
● floor(n) Redondea un número hacia el inferior.
● log(n) Calcula el logaritmo de un número n.
● max(x,y) Devuelve x o y, en función de cuál de los dos es mayor.
● min(x,y) Devuelve x o y, en función de cuál de los dos es menor.
● pow(x,y) Calcula la potencia de dos números.
● random() Genera un número entero más cercano.
● round(n) Redondea al número entero más cercano.
● sin(n) Calcula el seno de un número n.
● sqrt(n) Calcula la raíz cuadrada de un número n.
● tan(n) Calcula la tangente de un número n.
var valorPi;
valorPI=Math.PI;
document.write("La variable Pi tiene como valor."+valorPI+"<br>");
valorPI=Math.ceil(valorPI);
document.write("La variable Pi redondeada mediante ceil tiene como valor:"+valorPI);
Otro ejemplo:
Su sintaxis es la siguiente:
Cuando se crea un objeto sin proporcionar datos, el nuevo objeto toma el valor de
false. Cuando se facilita el valor true o cualquier otro texto entre comillado, el resultado
del nuevo objeto es siempre true. El nuevo objeto contendrá false si se proporciona un
valor 0, false s in comillas o una cadena de texto vacía.
var objeto1,objeto2,objeto3,objeto4;
objeto1=new Boolean();
objeto2=new Boolean(false);
objeto3=new Boolean(true);
objeto4=new Boolean("texto");
document.write("El valor booleano de objeto 1 es "+ objeto1 +"<br>");
document.write("El valor booleano de objeto 2 es "+ objeto2 +"<br>");
document.write("El valor booleano de objeto 3 es "+ objeto3 +"<br>");
Esta función es útil cuando se trabaja con formularios, ya que los valores introducidos
en un formulario son siempre cadenas o valores numéricos.
var numero_x=10
var numero_y=20
document.write(eval(“numero_x+numero_y”))
var numero_int="1500.230";
var numero_float="+126.256";
resultadoParseint=parseInt(numero_int,10);
resultadoParsefloat=parseFloat(numero_float);
document.write(resultadoParseint+"<br>");
document.write(resultadoParsefloat);
document.write(escape("abcdefghi")+"<br>");
document.write(escape("!.$%&/()=?¿")+"<br>");
document.write(escape("123456789")+"<br>");
document.write(unescape("abcdefghi")+"<br>");
document.write(unescape("%21%B7%24%25%26%28%29%3D%3F%BF")+"<br>");
document.write(unescape("123456789")+"<br>");
1
ASCII (acrónimo inglés de American Standard Code for Information Interchange —Código Estándar
Estadounidense para el Intercambio de Información—), es un código de caracteres basado en el alfabeto
latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de
Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o
ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía.
Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para
formar el código conocido como US-ASCII. (Fuente Wikipedia)
2
Las fechas son aproximadas
<!DOCTYPE html>
<html>
<head>
<title>DOM Document Object Model</title>
<meta charset="utf-8">
</head>
<body>
<h1>Esta es una página HTML</h1>
<p>Las siglas DOM significan:</p>
<ul id="dom">
<li>Document</li>
<li>Object</li>
<li>Model</li>
</ul>
</body>
<script>
var misLI = document.getElementsByTagName("li");
document.write("El número de elementos de la lista son:
"+misLI.length+"<br>");
//Recuperamos un elemento por su identificador (id)
var miDOM = document.getElementById("dom");
document.write("El número de nodos de la lista es:
"+miDOM.childNodes.length+"<br>");
//Contenido de un nodo
document.write("El contenido del nodo es: "+miDOM.innerHTML+"<br>");
//Obtenemos el tipo de nodo
document.write("El tipo de nodo es: "+miDOM.nodeType+"<br>");
</script>
</html>
miElemento.nodeType
miElemento.innerHTML
miElemento.childNodes.length
//Contenido de un nodo
document.write("El contenido del nodo es: "+miDOM.innerHTML+"<br>");
<!DOCTYPE html>
<html>
<head>
<!DOCTYPE html>
<html>
<head>
<title>DOM Document Object Model | QuerySelector()</title>
<meta charset="utf-8">
<script>
window.onload = function(){
//seleccionamos por clase
var rojos = document.querySelectorAll(".rojo");
console.log("Tenemos "+rojos.length+" elementos rojos");
window.onload = function(){
//recuperamos los li
var misLI = document.getElementsByTagName("li");
console.log("El número de elementos de tipo lista es de: "+misLI.length);
window.onload = function(){
//recuperamos los li
var misLI = document.getElementsByTagName("li");
console.log("El número de elementos de tipo lista es de: "+misLI.length);
window.onload = function(){
var noexiste = document.querySelector(".noexiste");
if (noexiste.hasAttribute("class")) {
noexiste.removeAttribute("class");
} else {
console.log("No existe la clase noexiste");
}
}
En estos métodos todos los navegadores tomarán los espacios (entre las etiquetas)
como nodos, a excepción de IE.
window.onload = function(){
var medio = document.getElementById("medio");
do{
console.log(medio.nodeName, medio.innerHTML);
medio = medio.nextElementSibling;
}while(medio)
}
window.onload = function(){
var medio = document.getElementById("medio");
medio.previousElementSibling.setAttribute("class","rojo");
medio.nextElementSibling.setAttribute("class","verde");
//medio.setAttribute("class","azul");
medio.parentNode.parentNode.setAttribute("class","azul");
}
window.onload = function(){
var medio = document.getElementById("medio");
medio.previousElementSibling.setAttribute("class","rojo");
medio.nextElementSibling.setAttribute("class","verde");
//medio.setAttribute("class","azul");
medio.parentNode.parentNode.setAttribute("class","azul");
}
<!DOCTYPE html>
<html>
<head>
<title>DOM | Crear nodos</title>
<meta charset="utf-8">
<script>
window.onload = function(){
//creamos un arreglo
var textos = new Array();
textos.push("Afrodita nació de la espuma del mar...");
textos.push("Una pelota de golf puede ser más letal que una bala...");
textos.push("Las abejas tienen emociones...");
textos.push("El arte es bueno para la salud...");
textos.push("Las papas disminuyen la presión arterial...");
textos.push("JavaScript es el lenguaje más utilizado en el mundo...");
//creamos un número aleatorio
var num = Math.floor(Math.random()*textos.length);
Nota: Un nodo no puede eliminarse a sí mismo. Tenemos que eliminarlo desde su
nodo padre.
window.onload = function() {
/*
var medio = document.getElementById("medio");
var ul = document.querySelector("ul");
var ant = ul.removeChild(medio);
console.log(ant.nodeName);
*/
var ul = document.querySelector("ul");
while(ul.firstChild) ul.removeChild(ul.firstChild);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Edificios Griegas</title>
<script src="js/fotos01.js"> </script>
<style>
body{
width:650px;
margin:30px auto;
}
h1{
text-align:center;
}
img{
margin-left:10px;
margin-top:10px;
cursor:pointer;
}
</style>
</head>
<body>
<h1>Edificios antiguos griegos</h1>
<div>
<img src="imagenes/fondos/minis/fondo1.jpg" width="200" height="150">
<img src="imagenes/fondos/minis/fondo2.jpg" width="200" height="150">
<img src="imagenes/fondos/minis/fondo3.jpg" width="200" height="150">
<img src="imagenes/fondos/minis/fondo4.jpg" width="200" height="150">
<img src="imagenes/fondos/minis/fondo5.jpg" width="200" height="150">
<img src="imagenes/fondos/minis/fondo6.jpg" width="200" height="150">
</div>
</body>
</html>
window.onload = function(){
var fotos = document.querySelector("div");
//Listener
fotos.addEventListener("click",function(e){
if(e.target.tagName==="IMG"){
console.log("Pulso una imagen");
} else {
window.onload = function(){
var fotos = document.querySelector("div");
//Listener
fotos.addEventListener("click",function(e){
if(e.target.tagName==="IMG"){
var fondoNegro = document.createElement("div");
fondoNegro.id = "overlay";
document.body.appendChild(fondoNegro);
//Darle estilo al fondo
fondoNegro.style.position="absolute";
fondoNegro.style.top = 0;
fondoNegro.style.backgroundColor = "rgba(0,0,0,0.5)";
fondoNegro.style.cursor = "pointer";
//
fondoNegro.style.width = window.innerWidth+"px";
fondoNegro.style.height = window.innerHeight+"px";
fondoNegro.style.top = window.pageYOffset+"px";
fondoNegro.style.left = window.pageXOffset+"px";
} else {
console.log("NO pulso una imagen");
}
}, false);
}
window.onload = function(){
var fotos = document.querySelector("div");
//Listener
fotos.addEventListener("click",function(e){
if(e.target.tagName==="IMG"){
var fondoNegro = document.createElement("div");
fondoNegro.id = "overlay";
document.body.appendChild(fondoNegro);
//Darle estilo al fondo
fondoNegro.style.position="absolute";
fondoNegro.style.top = 0;
fondoNegro.style.backgroundColor = "rgba(0,0,0,0.5)";
fondoNegro.style.cursor = "pointer";
//
fondoNegro.style.width = window.innerWidth+"px";
fondoNegro.style.height = window.innerHeight+"px";
fondoNegro.style.top = window.pageYOffset+"px";
fondoNegro.style.left = window.pageXOffset+"px";
} else {
console.log("NO pulso una imagen");
}
}, false);
}
window.onload = function(){
fondoNegro.appendChild(imagen);
}, false);
imagen.addEventListener("click", function(){
if(fondoNegro){
fondoNegro.parentNode.removeChild(fondoNegro);
}
}, false);
} else {
console.log("NO pulso una imagen");
}
}, false);
function centrar(imagen){
var xx = (window.innerWidth - imagen.width)/2;
var yy = (window.innerHeight - imagen.height)/2;
imagen.style.top = yy+"px";
imagen.style.left = xx+"px";
return imagen;
}
}
Los objetos en el navegador se rigen por una jerarquía que refleja la estructura de los
documentos HTML. Según esto, el objeto window que es el de más alto nivel, tendría a
un objeto location como descendiente.
document.miformulario
Como norma general para referenciar una propiedad específica de un objeto para
referenciar una propiedad específica de un objeto se deberá incluir el objeto y todos
window
● parent, frames, self, top
● history
● location
● document
○ links
○ anchor
○ form
■ Todos sus elementos
<html>
<head>
<title>Ejemplo de ABRIR y CERRAR una ventana</title>
<script language="javascript">
function Pregunta(){
var EntradaDatosPregunta=prompt("Intoduce tu nombre, por favor","en
minusculas,gracias");
if(confirm("Estas conforme con el nombre introducido"+EntradaDatosPregunta+"?"))
{
alert("De acuerdo, escribiste"+EntradaDatosPregunta);
} else {
alert("Bueno, pero yo creo que escribiste"+EntradaDatosPregunta);
}
}
</script>
</head>
<body>
<form>
También podemos determinar el aspecto que tendría la nueva ventana del navegador
mediante una serie de componentes que permiten configurar el menú, la barra de
herramientas, la barra de estado, etc. Las opciones son:
● toolbar. Muestra la barra de herramientas.
● location. Muestra la barra de dirección.
● directories. Muestra los botones de directorio.
Para abrir una ventana utilizando los métodos y opciones anteriores, deberemos aplicar
la siguiente sintaxis:
variableVentana=
nombreventana.open(“URL”,”NombreVentana”,”OpcionesVentana”)
<html>
<head>
<title>Ejemplo de ABRIR y CERRAR una ventana</title>
<script language="javascript">
function AbrirVentana()
{
Ventana=open("","nueva","toolbar=no,directories=no,menubar=no,width=180,height=16
0");
Ventana.document.wrtie("<head><title>Ventana Nueva</title> </head><body>");
Ventana.document.write("<font size=4 COLOR=blue>VENTANA NUEVA</font><br>");
Ventana.document.write("<form><input type='button' VALUE =
'Cerrar'onClick='self.close()'> </form>");
}
</script>
</head>
<body>
<form>
<input type="button" value="Abrir una ventana"
onClick="AbrirVentana();"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Bom | Size</title>
<meta charset="utf-8">
<script>
window.onload = function(){
var w = window.innerWidth || document.documentElement.clientWidth ||
document.body.clientWidth;
var h = window.innerHeight || document.documentElement.clientHeight ||
document.body.clientHeight;
document.getElementById("salida").innerHTML = "Dimensiones del
viewport son "+w+" ancho y "+h+" altura en pixeles y las dimensiones externas son
"+window.outerWidth+" de ancho y "+window.outerHeight+" de altura en piexeles";
}
</script>
</head>
<body>
<div id="salida"></div>
</body>
</html>
window.location.propiedad
<!DOCTYPE html>
<html>
<head>
<title>BOM | Location</title>
<meta charset="utf-8">
<script>
document.write("URL: "+window.location.href+"<br>");
document.write("Hostname: "+location.hostname+"<br>");
document.write("Ruta: "+location.pathname+"<br>");
document.write("Protocolo: "+location.protocol+"<br>");
document.write("Puerto: "+location.port+"<br>");
function salta(){
location.assign("http://www.google.com");
}
</script>
</head>
<body>
<input type="button" value="Ir a google" onclick="salta()" />
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>BOM | History</title>
<meta charset="utf-8">
<script>
function atras(){
window.history.back();
}
function adelante(){
window.history.forward();
}
</script>
</head>
<body>
<input type="button" value="Atrás" onclick="atras()">
<input type="button" value="Adelante" onclick="adelante()">
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>BOM | Manejo de tiempo</title>
<meta charset="utf-8">
<script>
var llave = setInterval(reloj,1000);
function reloj(){
var d = new Date();
document.getElementById("salida").innerHTML = d.toLocaleTimeString();
}
</script>
</head>
<body>
<p id="salida"></p>
<button onclick="clearInterval(llave);">Detener</button>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>BOM | Manejo de tiempo</title>
<meta charset="utf-8">
<script>
function iniciar(){
alert("Hola desde JavaScript");
}
</script>
</head>
<body>
<input type="button" value="Iniciar" onclick="llave = setTimeout(iniciar,3000);">
<input type="button" value="Detener" onclick="clearTimeout(llave);">
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>BOM | cookies</title>
<meta charset="utf-8">
<script>
function leeGalleta(galleta){
var usuario = galleta +"=";
var galletaLimpia = decodeURIComponent(document.cookie);
var ca = galletaLimpia.split(";");
for (var i = 0; i < ca.length; i++) {
c = ca[i];
while(c.charAt(0)==" "){
c = c.substring(1);
}
if(c.indexOf(usuario)==0){
return c.substring(usuario.length, c.length);
}
return "";
}
}
function guardaGalleta(nombreGalleta, valorGalleta, dias){
console.log(nombreGalleta, valorGalleta, dias);
var d = new Date();
d.setTime(d.getTime()+(dias*24*60*60*1000));
var expira = "expires="+d.toGMTString();
También podemos trabajar con algunos de sus métodos para controlar el proceso de
abrir y cerrar un documento.
● clear(). Borra la página del navegador.
● close(). Cierra el documento.
● write(). Permite escribir en un documento.
<!DOCTYPE html>
<html>
<head>
<title>Eventos | onload y oncick</title>
<meta charset="utf-8">
<script>
window.onload = function(){
alert("Bienvenid@ a nuestra página");
document.getElementById("color").onclick = function(){
var bodys = document.getElementsByTagName("body");
bodys[0].setAttribute("class","azul");
}
}
</script>
<style>
.azul{background-color:blue;}
</style>
</head>
<body>
<p id="color">Cambiar de color</p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Eventos | onmouseover onmouseout</title>
<meta charset="utf-8">
<script>
var atenea, miBody;
window.onload = function(){
atenea = document.getElementById("atenea");
miBody = document.getElementsByTagName("body");
atenea.onclick = function(){
alert("Atenea, diosa de la sabiduría");
}
atenea.onmouseover = function(){
miBody[0].setAttribute("class","rojo");
}
atenea.onmouseout = function(){
miBody[0].setAttribute("class","blanco");
}
}
</script>
<style>
.rojo{ background-color: red; }
.blanco{ background-color: white; }
</style>
</head>
<body>
<img src="imagenes/atenea.jpg" id="atenea"/>
</body>
</html>
Ejemplo:
<html>
<head>
<title>Ejemplo de evento onSelect</title>
</head>
<body>
<form>
<textarea rows=3 COLS=40 onSelect="alert('Se ha seleccionado texto\nen el
formulario');">
Aquí hay un poco de texto para efectuar la prueba. Seleccione con el cursor un
fragmento.</textarea>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Eventos | onselect</title>
<meta charset="utf-8">
<script>
var cajas, miBody;
window.onload = function(){
cajas = document.getElementsByTagName("input");
miBody = document.getElementsByTagName("body");
cajas[0].onselect = function(){
miBody[0].setAttribute("class","rojo");
}
cajas[1].onselect = function(){
miBody[0].setAttribute("class","verde");
}
cajas[2].onselect = function(){
miBody[0].setAttribute("class","azul");
}
cajas[3].onselect = function(){
miBody[0].setAttribute("class","amarillo");
}
}
</script>
<style>
.rojo{background: red;}
.azul{background: blue;}
.verde{background: green;}
.amarillo{background: yellow;}
</style>
</head>
<body>
<p><input type="text" id="rojo" value="rojo"></p>
<p><input type="text" id="verde" value="verde"></p>
<p><input type="text" id="azul" value="azul"></p>
<p><input type="text" id="amarillo" value="amarillo"></p>
</body>
</html>
Ejemplo:
<html>
<head>
<title>Ejemplo de evento onkeydown</title>
<script language="javascript">
function avisoPulsacion(){
alert("Has pulsado una tecla");
}
</script>
</head>
<body>
<center><form name="datos">
<p>Escribe un caracter dentro de la casilla de texto<br>
<input type="text" value="Escribe aqui dentro" SIZE="40"
onkeydown="avisoPulsacion()">
</form>
</center></body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Eventos | onkeydown y onkeyup</title>
<meta charset="utf-8">
<script>
var caja;
window.onload = function(){
caja = document.getElementById("caja");
//detectamos el evento onkeyup
caja.onkeyup = function(){
var valor = caja.value;
caja.value = valor.toUpperCase();
var salida = "";
for (var i = 0; i < valor.length; i++) {
salida = valor[i]+salida;
}
document.getElementById("salida").innerHTML =
salida.toLowerCase();
}
}
</script>
</head>
<body>
<input type="caja" id="caja"/>
<p id="salida"></p>
</body>
</html>
La sintaxis es la siguiente:
Por ejemplo, podemos mostrar un mensaje cuando el usuario salga de algún elemento
de un formulario.
<html>
<head>
<title>Ejemplo de evento onFocus</title>
</head>
<body>
<form>
<p>Nombre:<input type="text" name="nombre"><br>
La utilización del evento onFocus puede provocar un bucle infinito que bloquee La
computadora. Veamos el siguiente fragmento de script:
<!DOCTYPE html>
<html>
<head>
<title>Eventos | onblur y onfocus</title>
<meta charset="utf-8">
<script>
var campo1, campo2;
window.onload = function() {
//referencias a los elementos
campo1 = document.getElementById("campo1");
campo2 = document.getElementById("campo2");
//listeners
campo1.onfocus = function(){
enciende(this);
}
campo1.onblur = function(){
apaga(this);
}
campo2.onfocus = function(){
enciende(this);
}
campo2.onblur = function(){
apaga(this);
}
}
function enciende(campo){
campo.setAttribute("class","enciende")
}
function apaga(campo){
campo.setAttribute("class","apaga")
}
</script>
<style>
.enciende{background-color: #ff9;}
.apaga{background-color: #fff;}
</style>
</head>
<body>
<p>
<label for="campo1">Campo1</label>
<input type="text" name="campo1" id="campo1">
</p>
<p>
<label for="campo2">Campo2</label>
<input type="text" name="campo2" id="campo2">
</p>
</body>
</html>
El ejemplo más claro de utilización de este evento es evitar que un formulario sea
enviado si determinadas condiciones no son cumplidas.
<html>
<head>
<title>Ejemplo de evento onSubmit</title>
<script language="javascript">
function verificarDato()
{
var valor=document.miformulario,numero.value;
if(valor>0 && valor<100)
{
return(true);
} else {
alert("ATENCION. El valor introducido no es correcto");
return(false);
}
}
</script>
</head>
<body>
<form name="miformulario" method="post"
action="mailto:[email protected]" onSubmit="verificarDato()">
<!DOCTYPE html>
<html>
<head>
<title>Evento | onSubmit</title>
<meta charset="utf-8">
<script>
var forma, clave1, clave2;
window.onload = function(){
forma = document.getElementById("forma");
clave1 = document.getElementById("clave1");
clave2 = document.getElementById("clave2");
forma.onsubmit = function(){
var valor1 = clave1.value;
var valor2 = clave2.value;
if (valor1=="" || valor2=="") {
alert("Las claves de acceso no pueden estar vacías");
} else if(valor1!=valor2){
alert("Las claves de acceso no coinciden");
} else {
alert("Las claves de acceso son correctas");
return true;
}
return false;
}
}
</script>
</head>
<body>
<form id="forma" name="forma" method="post" action="guarda.php">
<p>
<label for="clave1">Clave 1</label>
<input type="password" name="clave1" id="clave1">
</p>
<p>
<label for="clave2">Clave 2</label>
<input type="password" name="clave2" id="clave2">
</p>
<p>
<input type="submit" name="enviar" id="enviar" value="Enviar">
</p>
</form>
</body>
</html>
El evento onmouseover() sucede cada vez que el cursor del ratón para por encima de
un elemento de la página, mientras que el evento onMouseOut sucede cuando se deja
de seleccionar este elemento. La sintaxis para los respectivos eventos es la siguiente:
<html>
<head>
<title>Ejemplo de evento onMouseOver y onMouseOut</title>
</head>
<body>
<a href="enlace" onMouseOver="alert('Has pasado por encima del
enlace');">Pasa por encima mio.</A>
<br><br><br><br><br><br>
<a href="enlace"onMouseOut="alert('Estas alejandote del enlace');">Acercate y luego
vete poco a poco.</A>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Eventos | onmusedown onmouseup</title>
<meta charset="utf-8">
<script>
var atenea, miBody;
window.onload = function(){
atenea = document.getElementById("atenea");
miBody = document.getElementsByTagName("body");
atenea.onmousedown = function(){
miBody[0].setAttribute("class","naranja");
}
atenea.onmouseup = function(){
miBody[0].setAttribute("class","blanco");
}
}
</script>
<style>
.naranja{background-color: orange;}
.blanco{background-color: white;}
</style>
</head>
<body>
<img src="imagenes/atenea.jpg" id="atenea"/>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Evento | onmousemove</title>
<meta charset="utf-8">
<script>
window.onload = function(){
document.getElementById("cuadro").onmousemove = function(e){
var x = e.clientX;
var y = e.clientY;
var coordenadas = "Coordenadas ("+x+", "+y+")";
document.getElementById("salida").innerHTML = coordenadas;
}
document.getElementById("cuadro").onmouseout = function(e){
document.getElementById("salida").innerHTML = "";
}
}
</script>
<style>
#cuadro{
width: 199px;
height: 99px;
border: 1px solid black;
}
body{margin:0;}
</style>
</head>
<body>
<div id="cuadro"></div>
<p id="salida"></p>
</body>
</html>
Sin duda es una interesante opción para validar la entrada de datos en los formularios.
<html>
<head>
<title>Ejemplo de evento onChange</title>
</head>
<body>
<form>
<center><p>Mi nombre es:
<input type="text"NAME="apellido"onChange="alert('Esta casilla
a cambiado su contenido')"><br>
<p>Mis apellidos son:
<input type="text"NAME="apellido"onChange="alert('Y ahora esta otra')"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Evento | onchange()</title>
<meta charset="utf-8">
<script>
window.onload = function() {
document.getElementById("color").onchange = function(e){
var color = this.value;
//alert(color);
var miBody = document.getElementsByTagName("body");
miBody[0].setAttribute("class",color);
}
}
</script>
<style>
.white{background-color:white;}
.black{background-color:black;}
.blue{background-color:blue;}
.green{background-color:green;}
.yellow{background-color:yellow;}
.orange{background-color:orange;}
</style>
</head>
<body>
<p>¿Qué color prefieres?</p>
<select id="color">
<option value="black">Negro</option>
<option value="white">Blanco</option>
<option value="blue">Azúl</option>
<option value="green">Verde</option>
<option value="yellow">Amarillo</option>
<option value="orange">Naranja</option>
</select>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Burbujeo</title>
<script>
window.onload = function() {
document.getElementById("caja1").addEventListener("click",function(event) {
console.log("clic sobre la caja 1",event.target)
},{capture:true});
document.getElementById("caja2").addEventListener("click",function(event) {
console.log("clic sobre la caja 2",event.target)
},{capture:true});
document.getElementById("caja3").addEventListener("click",function(event) {
console.log("clic sobre la caja 3", event.target);
//event.stopPropagation();
//event.stopImmediatePropagation();
},{capture:true});
}
</script>
<style>
#caja1{
width:400px;
height: 400px;
background:orange;
}
#caja2{
width:300px;
height: 300px;
background:yellow;
}
#caja3{
width:200px;
height: 200px;
background:red;
}
</style>
</head>
<body>
<div id="caja1">
<p>Caja 1</p>
<div id="caja2">
<p>Caja 2</p>
<div id="caja3">
<p>Caja 3</p>
</div>
</div>
</div>
</body>
</html>
La sintaxis es:
<html>
<head>
<title>Ejemplo de evento onLoad</title>
</head>
<body onLoad="alert('Acabas de entrar en el web mas interesante de la RED');”
onUnLoad="alert('Gracias por tu visita. Saludos');">
<center><H1>BIENVENIDOS A MI WEB</H1></center>
</body>
</html>
Sintaxis:
Este evento puede servir, para advertir al usuario antes de efectuar el reset del
formulario.
<html>
<head>
<title>Ejemplo de evento onReset</title>
<script language="javascript">
function avisoreset(){
if(confirm("!ATENCION!. Los datos del formulario se van a borrar.")){
document.datos.reset()
}
}
</script>
</head>
<body>
<center><FORM NAME="datos">
<p>Introduzca sus datos. Gracias.<br>
Nombre:<input type="text"value="Nombre"><br>
Apellidos:<input type="text"value="Apellidos"><br>
Direccion:<input type="text"value="Direccion"><br>
Provincia:<input type="text"value="Provincia"><br>
<input type="button" value="Resetar" onClick="avisoreset()">
</form>
</center>
</body>
</html>
<html>
<head>
Índice
Introducción a JavaScript 1
1. Sintaxis de JavaScript 2
1.1. Historia de JavaScript 2
1.2. El primer programa con JavaScript: Hola Mundo 3
1.3. JavaScript en un archivo js 4
1.4. Comentarios al código en JS 5
1.5. Las llaves(*) 6
1.6. El punto y coma (*) 6
2. Variables y tipos de datos 7
2.1. Introducción a las variables en JavaScript 7
2.2. Tipos de datos en JavaScript 8
2.3. Cadenas en JavaScript 9
2.4. Tipos numéricos en JavaScript 10
Enteros 10
Coma flotante 11
2.5. Variables Booleanas 11
2.6. Operadores matemáticos 12
2.7. Operadores de comparación 13
2.8. Operadores lógicos 14
2.9. Operadores unarios y atajos 15
2.10. Operadores de bits (*) 17
2.11. El operador typeof() (*) 17
2.12. Palabras reservadas 18
3. Sentencias condicionales 19
3.1. Sentencias condicionales 19
3.2. El condicional Else 19
3.3. Estructuras condicionales anidadas 20
3.4.Operadores lógicos en las estructuras condicionales 21
3.5. La sentencia condicional Switch 22
3.6. La sentencia break dentro de un condicional switch 23
3.7. El operador condicional 24
4. Ciclos en JavaScript 26
4.1. El ciclo while 26
4.2. Ciclo do... while 26
4.3. El ciclo for 27
4.4. Los comandos break y continue en los ciclos 27
5: Funciones en JavaScript 29
5.1. Funciones en JavaScript 29
5.2. Parámetros en las funciones 30
5.3. Regreso de valores en una función con la sentencia return 31
5.4. Variables locales y globales en las funciones 32
6: Manejo de cadenas 33
6.1. Concatenación de cadenas y conversión de datos 33
6.2. Métodos para convertir las cadenas a mayúsculas y minúsculas 34
6.3. Buscar subcadenas con el método indexOf 35
6.4. Manejo de subcadenas con subString(), subStr() y slice() 36
6.5. Leer los caracteres de una cadena 37
7: Colecciones: arreglos y objetos 40
7.1. Fundamentos en el manejo de arreglos 40
7.2. Poblar y barrer un arreglo 41
7.3. Métodos para manipular arreglos 43
7.4. Creación de objetos en JavaScript 46
Propiedades de un objeto 46
Los métodos 47
7.5. El objeto Date 49
7.6. El objeto Math 52
7.7. El objeto Boolean() (*) 54
7.8. La función eval() (*) 55
7.9. Las funciones parseInt() y parseFloat() 55
7.10. La función escape (*) 56
7.11. La función unescape 56
8. Document Object Model (DOM) 57
8.1. Documento Object Model (DOM) 57
8.2. DOM Seleccionar Nodos 59
8.3. Seleccionar nodos por clase: getElementsByClassName() 59
8.4. Seleccionar nodos con querySelector() y querySelectorAll() 60
8.5. Modificar Nodos de un documento bajo la estructura DOM 62
8.6. Modificar los atributos de un nodo con hasAttribute y removeAttribute 63
8.7. Modificar, recuperar y eliminar texto de un nodo 64
8.8. Navegar en el DOM: nextSibling, nextElementSibling,
previousElementSibling 64
8.9. Navegar en la estructura DOM con JavaScript 65
8.10. Navegar en el DOM: firstChild y lastChild 66
8.11. Crear nodos bajo la estructura DOM 66