Qué Es JavaScript
Qué Es JavaScript
JavaScript, al igual que Flash, Visual Basic Script, es una de las múltiples
maneras que han surgido para extender las capacidades del lenguaje HTML
(lenguaje para el diseño de páginas de Internet). Al ser la más sencilla, es por
el momento la más extendida.
JavaScript no es un lenguaje de programación propiamente dicho como C,
C++ etc. Es un lenguaje script u orientado a documento, como pueden ser los
lenguajes de macros que tienen muchos procesadores de texto y planillas de
cálculo. Hasta hace poco no se podía desarrollar programas con JavaScript
que se ejecutaran fuera de un Navegador, aunque en este momento
comienza a expandirse a otras áreas como la programación en el servidor
con Node.js
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
document.write('Hola Mundo');
</script>
</body>
</html>
</script>
</script>
Cada vez que escribimos una instrucción finalizamos con el carácter punto y
coma.
Ejemploe
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
document.write('Hola Mundo');
</script>
</body>
</html>
<script>
</script>
</body>
</html>
Variables.
Tipos de variable:
Una variable puede almacenar:
Valores Enteros (100, 260, etc.)
Valores Reales (1.24, 2.90, 5.01, etc.)
Cadenas de caracteres ('Juan', 'Compras', 'Listado', etc.)
Valores lógicos (true,false)
Existen otros tipos de variables que veremos más adelante.
Las variables son nombres que ponemos a los lugares donde almacenamos
la información. En JavaScript, deben comenzar por una letra o un subrayado
(_), pudiendo haber además dígitos entre los demás caracteres. Una variable
no puede tener el mismo nombre de una palabra clave del lenguaje.
edad=20;
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nombre='Juan';
var edad=10;
var altura=1.92;
var casado=false;
document.write(nombre);
document.write('<br>');
document.write(edad);
document.write('<br>');
document.write(altura);
document.write('<br>');
document.write(casado);
</script>
</body>
</html>
Los valores de las variables que almacenan nombres (es decir, son cadenas
de caracteres) deben ir encerradas entre comillas simples o dobles. Los
valores de las variables enteras (en este ejemplo la variable edad) y reales
no deben ir encerradas entre comillas. Cada instrucción finaliza con un punto
y coma.
Las variables de tipo boolean pueden almacenar solo dos valores: true o
false.
Es de tipo cadena.
Problemas
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nombre='Juan';
var edad=10;
var altura=1.92;
var casado=false;
document.write(nombre);
document.write('<br>');
document.write(edad);
document.write('<br>');
document.write(altura);
document.write('<br>');
document.write(casado);
</script>
</body>
</html>
1. Confeccionar una programa en JavaScript que defina e inicialice una
variable de tipo cadena de caracteres donde almacenemos el
nombre de un empleado y otra variable de tipo entera donde
almacenar el sueldo. Imprimir cada variable en una línea distinta en
pantalla.
Solución
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var usuario;
var mail;
usuario=prompt('Ingrese el nombre de usuario:','');
mail=prompt('Ingrese el mail:','');
document.write('Nombre de usuario ingresado:');
document.write(usuario);
document.write('<br>');
document.write('Mail ingresado:');
document.write(mail);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var usuario;
var mail;
usuario=prompt('Ingrese el nombre de usuario:','');
mail=prompt('Ingrese el mail:','');
document.write('Nombre de usuario ingresado:');
document.write(usuario);
document.write('<br>');
document.write('Mail ingresado:');
document.write(mail);
</script>
</body>
</html>
Estructuras secuenciales de
programación.
Problemas
Codificar problema
Ejecución problema
Es de fundamental importancia realizar los programas. Viendo sólo
los problemas resueltos en este curso de estudio no alcanza para
convertirse en un programador de aplicaciones.
PROBLEMAS
1. Realizar la carga del lado de un cuadrado, mostrar por pantalla el
perímetro del mismo (El perímetro de un cuadrado se calcula
multiplicando el valor del lado por cuatro)
2. Escribir un programa en el cual se ingresen cuatro números, calcular
e informar la suma de los dos primeros y el producto del tercero y
el cuarto.
3. Realizar un programa que lea cuatro valores numéricos e informar
su suma y producto.
4. Se debe desarrollar un programa que pida el ingreso del precio de
un artículo y la cantidad que lleva el cliente. Mostrar lo que debe
abonar el comprador (Ingresar por teclado un precio sin decimales,
es decir un entero: 2, 7, 90 etc.)
Solución
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nombre;
var nota;
nombre=prompt('Ingrese nombre:','');
nota=parseInt(prompt('Ingrese su nota:',''));
if (nota>=4)
{
document.write(nombre+' esta aprobado con un '+nota);
}
</script>
</body>
</html>
<script>
var nombre;
var nota;
nombre=prompt('Ingrese nombre:','');
nota=parseInt(prompt('Ingrese su nota:',''));
if (nota>=4)
{
document.write(nombre+' esta aprobado con un '+nota);
}
</script>
</body>
</html>
<script>
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var num1,num2;
num1=prompt('Ingrese el primer número:','');
num2=prompt('Ingrese el segundo número:','');
num1=parseInt(num1);
num2=parseInt(num2);
if (num1>num2)
{
document.write('el mayor es '+num1);
}
else
{
document.write('el mayor es '+num2);
}
</script>
</body>
</html>
Más adelante veremos qué sucede cuando preguntamos cuál de dos string
es mayor.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var num1,num2;
num1=prompt('Ingrese el primer número:','');
num2=prompt('Ingrese el segundo número:','');
num1=parseInt(num1);
num2=parseInt(num2);
if (num1>num2)
{
document.write('el mayor es '+num1);
}
else
{
document.write('el mayor es '+num2);
}
</script>
</body>
</html>
PROBLEMAS
Decimos que una estructura condicional es anidada cuando por la rama del
verdadero o el falso de una estructura condicional hay otra estructura
condicional.
Solución:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nota1,nota2,nota3;
nota1=prompt('Ingrese 1ra. nota:','');
nota2=prompt('Ingrese 2da. nota:','');
nota3=prompt('Ingrese 3ra. nota:','');
//Convertimos los 3 string en enteros
nota1=parseInt(nota1);
nota2=parseInt(nota2);
nota3=parseInt(nota3);
var pro;
pro=(nota1+nota2+nota3)/3;
if (pro>=7)
{
document.write('promocionado');
}
else
{
if (pro>=4)
{
document.write('regular');
}
else
{
document.write('reprobado');
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nota1,nota2,nota3;
nota1=prompt('Ingrese 1ra. nota:','');
nota2=prompt('Ingrese 2da. nota:','');
nota3=prompt('Ingrese 3ra. nota:','');
//Convertimos los 3 string en enteros
nota1=parseInt(nota1);
nota2=parseInt(nota2);
nota3=parseInt(nota3);
var pro;
pro=(nota1+nota2+nota3)/3;
if (pro>=7)
{
document.write('promocionado');
}
else
{
if (pro>=4)
{
document.write('regular');
}
else
{
document.write('reprobado');
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var num1,num2,num3;
num1=prompt('Ingrese primer número:','');
num2=prompt('Ingrese segundo número:','');
num3=prompt('Ingrese tercer número:','');
num1=parseInt(num1);
num2=parseInt(num2);
num3=parseInt(num3);
if (num1>num2 && num1>num3)
{
document.write('el mayor es el '+num1);
}
else
{
if (num2>num3)
{
document.write('el mayor es el '+num2);
}
else
{
document.write('el mayor es el '+num3);
}
}
</script>
</body>
</html>
Operadores logicos
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var num1,num2,num3;
num1=prompt('Ingrese primer número:','');
num2=prompt('Ingrese segundo número:','');
num3=prompt('Ingrese tercer número:','');
num1=parseInt(num1);
num2=parseInt(num2);
num3=parseInt(num3);
if (num1>num2 && num1>num3)
{
document.write('el mayor es el '+num1);
}
else
{
if (num2>num3)
{
document.write('el mayor es el '+num2);
}
else
{
document.write('el mayor es el '+num3);
}
}
</script>
</body>
</html>
Cuando vinculamos dos o más condiciones con el operador "O", con que
una de las dos condiciones sea Verdadera alcanza para que el resultado de
la condición compuesta sea Verdadero.
Ejemplo: Se carga una fecha (día, mes y año) por teclado. Mostrar un
mensaje si corresponde al primer trimestre del año (enero, febrero o marzo).
Cargar por teclado el valor numérico del día, mes y año por separado.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var dia,mes,año;
dia=prompt('Ingrese día:','');
mes=prompt('Ingrese mes:','');
año=prompt('Ingrese año:','');
dia=parseInt(dia);
mes=parseInt(mes);
año=parseInt(año);
if (mes==1 || mes==2 || mes==3)
{
document.write('corresponde al primer trimestre del año.');
}
</script>
</body>
</html>
La carga de una fecha se hace por partes, ingresamos las variables dia,
mes y año.
<script>
var dia,mes,año;
dia=prompt('Ingrese día:','');
mes=prompt('Ingrese mes:','');
año=prompt('Ingrese año:','');
dia=parseInt(dia);
mes=parseInt(mes);
año=parseInt(año);
if (mes==1 || mes==2 || mes==3)
{
document.write('corresponde al primer trimestre del año.');
}
</script>
</body>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var valor;
valor=prompt('Ingrese un valor comprendido entre 1 y 5:','');
//Convertimos a entero
valor=parseInt(valor);
switch (valor) {
case 1: document.write('uno');
break;
case 2: document.write('dos');
break;
case 3: document.write('tres');
break;
case 4: document.write('cuatro');
break;
case 5: document.write('cinco');
break;
default:document.write('debe ingresar un valor comprendido
entre 1 y 5.');
}
</script>
</body>
</html>
<script>
var col;
col=prompt('Ingrese alguno de estos tres colores (rojo, verde,
azul)' ,'');
switch (col) {
case 'rojo': document.write('se ingresó rojo');
break;
case 'verde': document.write('se ingresó verde');
break;
case 'azul': document.write('se ingresó azul');
break;
}
</script>
</body>
</html>
<script>
var valor;
valor=prompt('Ingrese un valor comprendido entre 1 y 5:','');
//Convertimos a entero
valor=parseInt(valor);
switch (valor) {
case 1: document.write('uno');
break;
case 2: document.write('dos');
break;
case 3: document.write('tres');
break;
case 4: document.write('cuatro');
break;
case 5: document.write('cinco');
break;
default:document.write('debe ingresar un valor comprendido entre 1 y 5.');
}
</script>
</body>
</html>
Estructuras switch.
Problemas
Codificar problema
Ejecución problema
PROBLEMAS
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var x;
x=1;
while (x<=100)
{
document.write(x);
document.write('<br>');
x=x+1;
}
</script>
</body>
</html>
La variable x debe estar inicializada con algún valor antes que se ejecute la
operación x = x + 1.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var x;
x=1;
while (x<=100)
{
document.write(x);
document.write('<br>');
x=x+1;
}
</script>
</body>
</html>
<script>
var x=1;
var suma=0;
var valor;
while (x<=5)
{
valor=prompt('Ingrese valor:','');
valor=parseInt(valor);
suma=suma+valor;
x=x+1;
}
document.write('La suma de los valores es '+suma+'<br>');
</script>
</body>
</html>
Hay que tener en cuenta que cuando en la variable valor se carga el primer
número (en éste ejemplo es el valor 5), al cargarse el segundo valor (16), el
valor anterior 5 se pierde, por ello la necesidad de ir almacenando en la
variable suma el valor acumulado de los valores ingresados.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var x=1;
var suma=0;
var valor;
while (x<=5)
{
valor=prompt('Ingrese valor:','');
valor=parseInt(valor);
suma=suma+valor;
x=x+1;
}
document.write('La suma de los valores es '+suma+'<br>');
</script>
</body>
</html>
Concepto de acumulador.
Problemas
Codificar problema
Ejecución problema
PROBLEMAS
Problema 1.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var x=0;
var cant1=0;
var cant2=0;
while (x<10)
{
var nota;
nota=prompt('Ingrese nota','');
if (nota>=7)
{
cant1=cant1+1;
}
else
{
cant2=cant2+1;
}
x=x+1;
}
document.write('Cantidad de alumnos con notas mayores o iguales a 7:'+cant1);
document.write('<br>');
document.write('Cantidad de alumnos con notas menores a 7:'+cant2);
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var x=0;
var suma=0;
while (x<5)
{
var altura;
altura=prompt('Ingrese la altura en centímetros(Ej. 175)','');
altura=parseInt(altura);
suma=suma+altura;
x=x+1;
}
var promedio=suma/5;
document.write('La altura promedio de las cinco personas es:'+promedio);
</script>
</body>
</html>
Problema 3.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var cont1=0;
var cont2=0;
var total=0;
var sueldo;
var x=0;
while (x<5)
{
sueldo=prompt('Ingrese el sueldo','');
sueldo=parseInt(sueldo);
if (sueldo<=300)
{
cont1=cont1+1;
}
else
{
cont2=cont2+1;
}
total=total+sueldo;
x=x+1;
}
document.write('Cantidad de empleados que cobran 300 o menos:'+cont1);
document.write('<br>');
document.write('Cantidad de empleados que cobran más de 300:'+cont2);
document.write('<br>');
document.write('Gastos en sueldos en la empresa:'+total);
</script>
</body>
</html>
Problema 4.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var serie=5;
var x=0;
while (x<20)
{
document.write(serie+' ');
x=x+1;
serie=serie+5;
}
</script>
</body>
</html>
Problema 5.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
document.write('Múltiplos de 10 hasta el 1500<br>');
var multiplo=10;
while (multiplo<=1500)
{
document.write(multiplo+' ');
multiplo=multiplo+10;
}
</script>
</body>
</html>
Problema 6.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var total1=0;
var x=0;
var nro;
while(x<3)
{
nro=prompt('Ingrese valor de la primer lista:','');
nro=parseInt(nro);
total1=total1+nro;
x=x+1;
}
var total2=0;
x=0;
while(x<3)
{
nro=prompt('Ingrese valor de la segunda lista:','');
nro=parseInt(nro);
total2=total2+nro;
x=x+1;
}
if (total1>total1)
{
document.write('Tiene mayor valor la lista1');
}
else
{
if (total1<total2)
{
document.write('Tiene mayor valor la lista2');
}
else
{
document.write('Tienen el mismo valor acumulado las dos listas');
}
}
</script>
</body>
</html>
Problema 7.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var cantpares=0;
var cantimpares=0;
var x=0;
var valor;
while (x<5)
{
valor=prompt('Ingrese un valor','');
valor=parseInt(valor);
if (valor%2==0)
{
cantpares=cantpares+1;
}
else
{
cantimpares=cantimpares+1;
}
x=x+1;
}
document.write('Cantidad de valores pares ingresados:'+cantpares);
document.write('<br>');
document.write('Cantidad de valores impares ingresados:'+cantimpares);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var valor;
do {
valor=prompt('Ingrese un valor entre 0 y 999:','');
valor=parseInt(valor);
document.write('El valor '+valor+' tiene ');
if (valor<10)
{
document.write('Tiene 1 digitos');
}
else
{
if (valor<100)
{
document.write('Tiene 2 digitos');
}
else
{
document.write('Tiene 3 digitos');
}
}
document.write('<br>');
} while(valor!=0);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var valor;
do {
valor=prompt('Ingrese un valor entre 0 y 999:','');
valor=parseInt(valor);
document.write('El valor '+valor+' tiene ');
if (valor<10)
{
document.write('Tiene 1 digitos');
}
else
{
if (valor<100)
{
document.write('Tiene 2 digitos');
}
else
{
document.write('Tiene 3 digitos');
}
}
document.write('<br>');
} while(valor!=0);
</script>
</body>
<script>
var valor;
var suma=0;
do {
valor=prompt('Ingrese un valor (9999 para finalizar)','');
valor=parseInt(valor);
if (valor!=9999)
{
suma=suma+valor;
}
} while(valor!=9999);
document.write('Valor acumulado total:'+suma);
document.write('<br>');
if (suma>0)
{
document.write('El valor acumulado es mayor a cero');
}
else
{
if (suma==0)
{
document.write('El valor acumulado es cero');
}
else
{
document.write('El valor acumulado es menor a cero');
}
}
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nrocuenta;
var nombre;
var saldo=0;
var saldoacre=0;
do {
nrocuenta=prompt('Ingrese nro de cuenta:','');
nrocuenta=parseInt(nrocuenta);
if (nrocuenta>=0)
{
nombre=prompt('Nombre del cliente:');
saldo=prompt('Saldo actual:','');
saldo=parseInt(saldo);
if (saldo>0)
{
saldoacre=saldoacre+saldo;
document.write(nombre+' tiene saldo acreedor<br>');
}
else
{
if (saldo<0)
{
document.write(nombre+' tiene saldo deudor<br>');
}
else
{
document.write(nombre+' tiene saldo nulo<br>');
}
}
}
}while(nrocuenta>0);
document.write('Suma total de saldos acreedores:'+saldoacre);
</script>
</body>
</html>
Problema 3.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var documento;
var edad;
var totalpersonas=0;
var cantvarones=0;
var cantmujeres=0;
var cantvaronesgrandes=0;
do {
documento=prompt('Ingrese nro de documento:','');
documento=parseInt(documento);
if (documento>0)
{
edad=prompt('Ingrese la edad:','');
edad=parseInt(edad);
sexo=prompt('Ingrese el sexo (masculino/femenino):','');
if (sexo=='masculino')
{
cantvarones=cantvarones+1;
if (edad>=16 && edad<=65)
{
cantvaronesgrandes=cantvaronesgrandes+1;
}
}
if (sexo=='femenino')
{
cantmujeres=cantmujeres+1;
}
totalpersonas=totalpersonas+1;
}
}while(documento!=0);
document.write('Total de personas censadas: '+totalpersonas+'<br>');
document.write('Cantidad de varones: '+cantvarones+'<br>');
document.write('Cantidad de mujeres: '+cantmujeres+'<br>');
document.write('Cantidad de varones entre 16 y 65 años: '+cantvaronesgrandes+'<br>');
</script>
</body>
</html>
Por último, hay que decir que la ejecución de la sentencia break dentro de
cualquier parte del bucle provoca la salida inmediata del mismo.
Sintaxis:
for (<Inicialización> ; <Condición> ; <Incremento o Decremento>)
{
<Instrucciones>
}
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var f;
for(f=1;f<=10;f++)
{
document.write(f+" ");
}
</script>
</body>
</html>
Importante: Tener en cuenta que no lleva punto y coma al final de los tres
argumentos del for.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var f;
for(f=1;f<=10;f++)
{
document.write(f+" ");
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var f;
var base;
var altura;
var superficie;
var conta1=0;
for(f=1;f<=3;f++)
{
base=prompt('Ingrese la base:','');
base=parseInt(base);
altura=prompt('Ingrese la altura:','');
altura=parseInt(altura);
superficie=base*altura/2;
if (superficie>12)
{
conta1++;
}
document.write('Triángulo nro:'+f+'<br>');
document.write('Base:'+base+'<br>');
document.write('Altura:'+altura+'<br>');
document.write('Superficie:'+superficie+'<br>');
}
document.write('Cantidad de triángulos con superficie mayor a 12:'+conta1);
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Desarrollar un programa que solicite la carga de 10 números e imprima la suma de lo
//últimos 5 valores ingresados.
var suma=0;
var f;
var valor;
for(f=1;f<=10;f++)
{
valor=prompt('Ingrese un nro:','');
valor=parseInt(valor);
if (f>5)
{
suma=suma+valor;
}
}
document.write('La suma de los últimos cinco valores ingresados es:'+suma);
</script>
</body>
</html>
Problema 3.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Desarrollar un programa que muestre la tabla de multiplicar del 5 (del 5 al 50).
var tabla=5;
var f=1;
for(f=1;f<=10;f++)
{
document.write(tabla+'-');
tabla=tabla+5;
}
</script>
</body>
</html>
Problema 4.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
/*Confeccionar un programa que permita ingresar un valor del 1 al 10 y
nos muestre la tabla de multiplicar del mismo (los primeros 12 términos)
Ejemplo: Si ingreso 3 deberá aparecer en pantalla los valores 3, 6, 9, hasta el 36.*/
var tabla;
var f;
var conta;
tabla=prompt('Ingrese un valor del 1 al 10:','');
tabla=parseInt(tabla);
conta=tabla;
for(f=1;f<=12;f++)
{
document.write(conta+ ' ');
conta=conta+tabla;
}
</script>
</body>
</html>
Problema 5.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
/* Realizar un programa que lea los lados de 4 triángulos, e informar:
a) De cada uno de ellos, qué tipo de triángulo es:
equilátero (tres lados iguales), isósceles (dos lados iguales), o escaleno (ningún lado igual)
b) Cantidad de triángulos de cada tipo.
c) Tipo de triángulo del que hay menor cantidad. */
var cant1=0;
var cant2=0;
var cant3=0;
var lado1;
var lado2;
var lado3;
var f;
for(f=1;f<=4;f++)
{
lado1=prompt('Ingrese primer lado:','');
lado1=parseInt(lado1);
lado2=prompt('Ingrese segundo lado:','');
lado2=parseInt(lado2);
lado3=prompt('Ingrese tercer lado:','');
lado3=parseInt(lado3);
if (lado1==lado2 && lado1==lado3)
{
document.write('Triángulo equilatero.<br>');
cant1++;
}
else
{
if (lado1==lado2 || lado1==lado3 || lado2==lado3)
{
document.write('Triángulo isósceles.<br>');
cant2++;
}
else
{
document.write('Triángulo escaleno.<br>');
cant3++;
}
}
}
document.write('<br>');
document.write('Cantidad de triángulos equiláteros:'+cant1+'<br>');
document.write('Cantidad de triángulos isósceles:'+cant2+'<br>');
document.write('Cantidad de triángulos escalenos:'+cant3+'<br>');
if (cant1<cant2 && cant1<cant3)
{
document.write('Se ingresaron menos triángulos equiláteros');
}
else
{
if (cant2<cant3)
{
document.write('Se ingresaron menos triángulos isósceles');
}
else
{
document.write('Se ingresaron menos triángulos escalenos');
}
}
</script>
</body>
</html>
Problema 6.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
/*Escribir un programa que pida ingresar coordenadas (x,y) que representan puntos en el plano.
Informar cuántos puntos se han ingresado en el primer, segundo, tercer y cuarto cuadrante.
Al comenzar el programa se pide que se ingrese la cantidad de puntos a procesar.*/
var cuad1=0;
var cuad2=0;
var cuad3=0;
var cuad4=0;
var x;
var y;
var f;
var cant;
cant=prompt('Cuantos puntos procesará:','');
cant=parseInt(cant);
for(f=1;f<=cant;f++)
{
x=prompt('Ingrese coordenada x:','');
x=parseInt(x);
y=prompt('Ingrese coordenada y:','');
y=parseInt(y);
if (x>0 && y>0)
{
cuad1++;
}
else
{
if (x<0 && y>0)
{
cuad2++;
}
else
{
if (x<0 && y<0)
{
cuad3++;
}
else
{
if (x>0 && y<0)
{
cuad4++;
}
}
}
}
}
document.write('Cantidad de puntos ingresados en el primer cuadrante:'+cuad1+'<br>');
document.write('Cantidad de puntos ingresados en el segundo cuadrante:'+cuad2+'<br>');
document.write('Cantidad de puntos ingresados en el tercer cuadrante:'+cuad3+'<br>');
document.write('Cantidad de puntos ingresados en el cuarto cuadrante:'+cuad4+'<br>');
</script>
</body>
</html>
Problema 7.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
/*Se realiza la carga de 10 valores enteros por teclado. Se desea conocer:
a) La cantidad de valores negativos ingresados.
b) La cantidad de valores positivos ingresados.
c) La cantidad de múltiplos de 15.
d) El valor acumulado de los números ingresados que son pares.*/
var cantnegativos=0;
var cantpositivos=0;
var mult15=0;
var sumapares=0;
var f;
var valor;
for(f=1;f<=10;f++)
{
valor=prompt('Ingrese un valor:','');
valor=parseInt(valor);
if (valor<0)
{
cantnegativos++;
}
else
{
if (valor>0)
{
cantpositivos++;
}
}
if (valor%15==0 && valor!=0)
{
mult15++;
}
if (valor%2==0)
{
sumapares=sumapares+valor;
}
}
document.write('Cantidad de valores negativos:'+cantnegativos+'<br>');
document.write('Cantidad de valores positivos:'+cantpositivos+'<br>');
document.write('Cantidad de múltiplos de 15:'+mult15+'<br>');
document.write('Suma de los valores pares ingresados:'+sumapares+'<br>');
</script>
</body>
</html>
Problema 8.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
/*Se cuenta con la siguiente información:
Las edades de 5 estudiantes del turno mañana.
Las edades de 6 estudiantes del turno tarde.
Las edades de 11 estudiantes del turno noche.
Las edades de cada estudiante deben ingresarse por teclado.
a) Obtener el promedio de las edades de cada turno (tres promedios)
b) Imprimir dichos promedios (promedio de cada turno).
c) Mostrar por pantalla un mensaje que indique cual de los
tres turnos tiene un promedio de edades mayor. */
var suma1=0;
var edad;
var f;
for(f=1;f<=5;f++)
{
edad=prompt('Edad de estudiante del turno mañana:','');
edad=parseInt(edad);
suma1=suma1+edad;
}
var suma2=0;
for(f=1;f<=6;f++)
{
edad=prompt('Edad de estudiante del turno tarde:','');
edad=parseInt(edad);
suma2=suma2+edad;
}
var suma3=0;
for(f=1;f<=11;f++)
{
edad=prompt('Edad de estudiante del turno noche:','');
edad=parseInt(edad);
suma3=suma3+edad;
}
var promedio1=suma1/5;
var promedio2=suma2/6;
var promedio3=suma3/11;
document.write('Promedio de edades de alumnos del turno mañana:'+promedio1+'<br>');
document.write('Promedio de edades de alumnos del turno tarde:'+promedio2+'<br>');
document.write('Promedio de edades de alumnos del turno noche:'+promedio3+'<br>');
if (promedio1>promedio2 && promedio1>promedio3)
{
document.write('El turno mañana tiene un promedio mayor de edades');
}
else
{
if (promedio2>promedio3)
{
document.write('El turno tarde tiene un promedio mayor de edades');
}
else
{
document.write('El turno noche tiene un promedio mayor de edades');
}
}
</script>
</body>
</html>
Funciones
La herramienta más potente con que se cuenta para facilitar, reducir y dividir
el trabajo en programación, es escribir aquellos grupos de sentencias una
sola y única vez bajo la forma de una FUNCION.
'Cuidado'
'Ingrese su documento correctamente'
'Cuidado'
'Ingrese su documento correctamente'
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarMensaje()
{
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
}
mostrarMensaje();
mostrarMensaje();
mostrarMensaje();
</script>
</body>
</html>
Es importante notar que para que una función se ejecute debemos llamarla
desde fuera por su nombre (en este ejemplo: mostrarMensaje()).
Cada vez que se llama una función se ejecutan todas las líneas contenidas
en la misma.
Si no se llama a la función, las instrucciones de la misma nunca se
ejecutarán.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarMensaje()
{
document.write("Cuidado<br>");
document.write("Ingrese su documento correctamente<br>");
}
mostrarMensaje();
mostrarMensaje();
mostrarMensaje();
</script>
</body>
</html>
Funciones con parámetros.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarComprendidos(x1,x2)
{
var inicio;
for(inicio=x1;inicio<=x2;inicio++)
{
document.write(inicio+' ');
}
}
var valor1,valor2;
valor1=prompt('Ingrese valor inferior:','');
valor1=parseInt(valor1);
valor2=prompt('Ingrese valor superior:','');
valor2=parseInt(valor2);
mostrarComprendidos(valor1,valor2);
</script>
</body>
</html>
El programa de JavaScript empieza a ejecutarse donde definimos las
variables valor1 y valor2 y no donde se define la función.
Luego de cargar los dos valores por teclado se llama a la función
mostrarComprendidos y le enviamos las variables valor1 y valor2. Los
parámetros x1 y x2 reciben los contenidos de las variables valor1 y valor2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarComprendidos(x1,x2)
{
var inicio;
for(inicio=x1;inicio<=x2;inicio++)
{
document.write(inicio+' ');
}
}
var valor1,valor2;
valor1=prompt('Ingrese valor inferior:','');
valor1=parseInt(valor1);
valor2=prompt('Ingrese valor superior:','');
valor2=parseInt(valor2);
mostrarComprendidos(valor1,valor2);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Elaborar una función a la cual le enviemos tres enteros y muestre el menor.
function mostrarMenor(x1,x2,x3)
{
if (x1<x2 && x1<x3)
{
document.write('El menor de los tres valores es :'+x1);
}
else
{
if (x2<x3)
{
document.write('El menor de los tres valores es :'+x2);
}
else
{
document.write('El menor de los tres valores es :'+x3);
}
}
}
var valor1,valor2,valor3;
valor1=prompt('Ingrese primer valor:','');
valor1=parseInt(valor1);
valor2=prompt('Ingrese segundo valor:','');
valor2=parseInt(valor2);
valor3=prompt('Ingrese tercer valor:','');
valor3=parseInt(valor3);
document.write('Los tres valores ingresados son '+valor1+' '+valor2+' '+valor3+'<br>');
mostrarMenor(valor1,valor2,valor3);
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Confeccionar una función a la cual le envíe tres enteros y
//los muestre ordenados de menor a mayor.
function mostrarOrdenados(x1,x2,x3)
{
if (x1<x2 && x1<x3)
{
document.write(x1+' ');
if (x2<x3)
{
document.write(x2+' '+x3);
}
else
{
document.write(x3+' '+x2);
}
}
else
{
if (x2<x3)
{
document.write(x2+' ');
if (x1<x3)
{
document.write(x1+' '+x3);
}
else
{
document.write(x3+' '+x1);
}
}
else
{
document.write(x3+' ');
if (x1<x2)
{
document.write(x1+' '+x2);
}
else
{
document.write(x2+' '+x1);
}
}
}
}
var valor1,valor2,valor3;
valor1=prompt('Ingrese primer valor:','');
valor1=parseInt(valor1);
valor2=prompt('Ingrese segundo valor:','');
valor2=parseInt(valor2);
valor3=prompt('Ingrese tercer valor:','');
valor3=parseInt(valor3);
document.write('Los tres valores ingresados son '+valor1+' '+valor2+' '+valor3+'<br>');
document.write('Los valores ordenados de menor a mayor son: ');
mostrarOrdenados(valor1,valor2,valor3);
</script>
</body>
</html>
Son comunes los casos donde una función, luego de hacer un proceso,
retorne un valor.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function convertirCastellano(x)
{
if (x==1)
return "uno";
else
if (x==2)
return "dos";
else
if (x==3)
return "tres";
else
if (x==4)
return "cuatro";
else
if (x==5)
return "cinco";
else
return "valor incorrecto";
}
var valor;
valor=prompt("Ingrese un valor entre 1 y 5","");
valor=parseInt(valor);
var r;
r=convertirCastellano(valor);
document.write(r);
</script>
</body>
</html>
Podemos ver que el valor retornado por una función lo indicamos por medio
de la palabra clave return. Cuando se llama a la función, debemos asignar
el nombre de la función a una variable, ya que la misma retorna un valor.
Una función puede tener varios parámetros, pero sólo puede retornar un
único valor.
Esta es una forma más elegante que una serie de if anidados. La instrucción
switch analiza el contenido de la variable x con respecto al valor de cada
caso. En la situación de ser igual, ejecuta el bloque seguido de los 2 puntos
hasta que encuentra la instrucción return o break.
Ejemplo 2: Confeccionar una función que reciba una fecha con el formato de
día, mes y año y retorne un string con un formato similar a: "Hoy es 10 de
junio de 2018".
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function formatearFecha(dia,mes,año)
{
var s='Hoy es '+dia+' de ';
switch (mes) {
case 1:s=s+'enero ';
break;
case 2:s=s+'febrero ';
break;
case 3:s=s+'marzo ';
break;
case 4:s=s+'abril ';
break;
case 5:s=s+'mayo ';
break;
case 6:s=s+'junio ';
break;
case 7:s=s+'julio ';
break;
case 8:s=s+'agosto ';
break;
case 9:s=s+'septiembre ';
break;
case 10:s=s+'octubre ';
break;
case 11:s=s+'noviembre ';
break;
case 12:s=s+'diciembre ';
break;
} //fin del switch
s=s+'de '+año;
return s;
}
document.write(formatearFecha(11,6,2018));
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function formatearFecha(dia,mes,año)
{
var s='Hoy es '+dia+' de ';
switch (mes) {
case 1:s=s+'enero ';
break;
case 2:s=s+'febrero ';
break;
case 3:s=s+'marzo ';
break;
case 4:s=s+'abril ';
break;
case 5:s=s+'mayo ';
break;
case 6:s=s+'junio ';
break;
case 7:s=s+'julio ';
break;
case 8:s=s+'agosto ';
break;
case 9:s=s+'septiembre ';
break;
case 10:s=s+'octubre ';
break;
case 11:s=s+'noviembre ';
break;
case 12:s=s+'diciembre ';
break;
} //fin del switch
s=s+'de '+año;
return s;
}
document.write(formatearFecha(11,6,2018));
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Confeccionar una función a la cual le envíe tres enteros
//y retorne el mayor de ellos.
function retornarMayor(x1,x2,x3)
{
if (x1>x2 && x1>x3)
{
return x1;
}
else
{
if (x2>x3)
{
return x2;
}
else
{
return x3;
}
}
}
var valor1,valor2,valor3;
valor1=prompt('Ingrese primer valor:','');
valor1=parseInt(valor1);
valor2=prompt('Ingrese segundo valor:','');
valor2=parseInt(valor2);
valor3=prompt('Ingrese tercer valor:','');
valor3=parseInt(valor3);
document.write('Los tres valores ingresados son '+valor1+' '+valor2+' '+valor3+'<br>');
var may;
may=retornarMayor(valor1,valor2,valor3);
document.write('El mayor de los tres es :'+may);
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Elaborar una función a la cual le envíe el valor del lado de un cuadrado
//y me retorne su perímetro.
function retornarPerimetro(lado)
{
var perimetro;
perimetro=lado*4;
return perimetro;
}
var lado;
lado=prompt('Ingrese la medida del lado de un cuadrado:','');
lado=parseInt(lado);
document.write('El perímetro del cuadrado es:'+retornarPerimetro(lado));
</script>
</body>
</html>
Problema 3.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Desarrollar una función que retorne la cantidad de dígitos
//que tiene una variable entera positiva de hasta 5 dígitos.
function cantidadDigitos(x)
{
if (x<10)
{
return 1;
}
else
{
if (x<100)
{
return 2;
}
else
{
if (x<1000)
{
return 3;
}
else
{
if (x<10000)
{
return 4;
}
else
{
if (x<100000)
{
return 5;
}
}
}
}
}
}
var valor;
valor=prompt('Ingrese un valor positivo de hasta 5 dígitos:','');
valor=parseInt(valor);
document.write('La cantidad de dígitos del valor ingresado es:'+cantidadDigitos(valor));
</script>
</body>
</html>
Problema 4.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Elaborar una función que reciba tres enteros y retorne el promedio.
function promediar(x1,x2,x3)
{
var promedio=(x1+x2+x3)/3;
return promedio;
}
var valor1,valor2,valor3;
valor1=prompt('Ingrese primer valor:','');
valor1=parseInt(valor1);
valor2=prompt('Ingrese segundo valor:','');
valor2=parseInt(valor2);
valor3=prompt('Ingrese tercer valor:','');
valor3=parseInt(valor3);
document.write('Los tres valores ingresados son '+valor1+' '+valor2+' '+valor3+'<br>');
var pro;
pro=promediar(valor1,valor2,valor3);
document.write('El promedio es :'+pro);
</script>
</body>
</html>
Problema 5.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
//Confeccionar una función que solicite la carga de 5 valores por teclado
//y retorne su suma.
function cargar5Valores()
{
var suma=0;
var valor;
var f;
for(f=1;f<=5;f++)
{
valor=prompt('Ingrese valor:','');
valor=parseInt(valor);
suma=suma+valor;
}
return suma;
}
var s=cargar5Valores();
document.write('La suma de los 5 valores es: '+ s);
</script>
</body>
</html>
Propiedades y métodos.
objeto.propiedad
objeto.metodo(parametros)
Conceptos Básicos.
Objetos: Son todas las cosas con identidad propia. Se relacionan entre si.
Poseen características (atributos) y tienen responsabilidades (funciones,
métodos) que deben cumplir.
Son ejemplares (instancias) de una clase y conocen a la clase a la cual
pertenecen.
Clases
Una clase es un molde para objetos que poseen las mismas características
(que pueden recibir los mismos mensajes y responden de la misma
manera).
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarFechaHora()
{
var fecha
fecha=new Date();
document.write('Hoy es ');
document.write(fecha.getDate()+'/');
document.write((fecha.getMonth()+1)+'/');
document.write(fecha.getFullYear());
document.write('<br>');
document.write('Es la hora ');
document.write(fecha.getHours()+':');
document.write(fecha.getMinutes()+':');
document.write(fecha.getSeconds());
}
//Llamada a la función
mostrarFechaHora();
</script>
</body>
</html>
<script>
function mostrarFechaHora()
{
var fecha
fecha=new Date();
document.write('Hoy es ');
document.write(fecha.getDate()+'/');
document.write((fecha.getMonth()+1)+'/');
document.write(fecha.getFullYear());
document.write('<br>');
document.write('Es la hora ');
document.write(fecha.getHours()+':');
document.write(fecha.getMinutes()+':');
document.write(fecha.getSeconds());
}
//Llamada a la función
mostrarFechaHora();
</script>
</body>
</html>
Clase Date
Problemas
Codificar problema
Ejecución problema
PROBLEMA
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var fecha
fecha=new Date();
var mes=fecha.getMonth();
if (mes<4)
{
document.write('Nos encontramos en el primer cuatrimestre del año');
}
else
{
if (mes<8)
{
document.write('Nos encontramos en el segundo cuatrimestre del año');
}
else
{
document.write('Nos encontramos en el tercer cuatrimestre del año');
}
}
</script>
</body>
</html>
Clase Array
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function cargar(sueldos)
{
var f;
for(f=0;f<sueldos.length;f++)
{
var v;
v=prompt('Ingrese sueldo:','');
sueldos[f]=parseInt(v);
}
}
function calcularGastos(sueldos)
{
var total=0;
var f;
for(f=0;f<sueldos.length;f++)
{
total=total+sueldos[f];
}
document.write('Listado de sueldos<br>');
for(f=0;f<sueldos.length;f++)
{
document.write(sueldos[f]+'<br>');
}
document.write('Total de gastos en sueldos:'+total);
}
var sueldos;
sueldos=new Array(5);
cargar(sueldos);
calcularGastos(sueldos);
</script>
</body>
</html>
Recordemos que el programa comienza a ejecutarse a partir de las líneas
que se encuentran fuera de la funciones:
var sueldos;
sueldos=new Array(5);
cargar(sueldos);
calcularGastos(sueldos);
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarFecha(meses,dias)
{
var num;
num=prompt('Ingrese número de mes:','');
num=parseInt(num);
document.write('Corresponde al mes:'+meses[num-1]);
document.write('<br>');
document.write('Tiene '+dias[num-1]+' días');
}
var meses;
meses=new Array(12);
meses[0]='Enero';
meses[1]='Febrero';
meses[2]='Marzo';
meses[3]='Abril';
meses[4]='Mayo';
meses[5]='Junio';
meses[6]='Julio';
meses[7]='Agosto';
meses[8]='Septiembre';
meses[9]='Octubre';
meses[10]='Noviembre';
meses[11]='Diciembre';
var dias;
dias=new Array(12);
dias[0]=31;
dias[1]=28;
dias[2]=31;
dias[3]=30;
dias[4]=31;
dias[5]=30;
dias[6]=31;
dias[7]=31;
dias[8]=30;
dias[9]=31;
dias[10]=30;
dias[11]=31;
mostrarFecha(meses,dias);
</script>
</body>
</html>
En este problema definimos dos vectores, uno para almacenar los meses y
otro los días. Decimos que se trata de vectores paralelos porque en la
componente cero del vector meses almacenamos el string 'Enero' y en el
vector dias, la cantidad de días del mes de enero.
<script>
function cargar(sueldos)
{
var f;
for(f=0;f<sueldos.length;f++)
{
var v;
v=prompt('Ingrese sueldo:','');
sueldos[f]=parseInt(v);
}
}
function calcularGastos(sueldos)
{
var total=0;
var f;
for(f=0;f<sueldos.length;f++)
{
total=total+sueldos[f];
}
document.write('Listado de sueldos<br>');
for(f=0;f<sueldos.length;f++)
{
document.write(sueldos[f]+'<br>');
}
document.write('Total de gastos en sueldos:'+total);
}
var sueldos;
sueldos=new Array(5);
cargar(sueldos);
calcularGastos(sueldos);
</script>
</body>
</html>
Clase Array
Problemas
Codificar problema
Ejecución problema
PROBLEMAS
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function cargar(vec)
{
var f;
for(f=0;f<vec.length;f++)
{
var valor;
valor=prompt('Ingrese componente:','');
vec[f]=parseInt(valor);
}
}
function sumar(vec)
{
var f;
var suma=0;
for(f=0;f<vec.length;f++)
{
suma=suma+vec[f];
}
document.write('Valor acumulado de las componentes:'+suma+'<br>');
}
function sumarMayor36(vec)
{
var f;
var suma=0;
for(f=0;f<vec.length;f++)
{
if (vec[f]>36)
{
suma=suma+vec[f];
}
}
document.write('Valor acumulado de las componentes mayores a 36:'+suma+'<br>');
}
function cantidadMayores50(vec)
{
var f;
var cant=0;
for(f=0;f<vec.length;f++)
{
if (vec[f]>50)
{
cant=cant+1;
}
}
document.write('Cantidad de componentes mayores a 50:'+cant+'<br>');
}
var vec;
vec=new Array(8);
cargar(vec);
sumar(vec);
sumarMayor36(vec);
cantidadMayores50(vec);
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function cargarVectores(vec1,vec2)
{
var f;
for(f=0;f<vec1.length;f++)
{
var valor;
valor=prompt('Ingrese componente del primer vector:','');
vec1[f]=parseInt(valor);
}
for(f=0;f<vec2.length;f++)
{
var valor;
valor=prompt('Ingrese componente del segundo vector:','');
vec2[f]=parseInt(valor);
}
}
function sumarVectores(vec1,vec2,vecsuma)
{
var f;
for(f=0;f<vecsuma.length;f++)
{
vecsuma[f]=vec1[f]+vec2[f];
}
}
function imprimirVector(vecsuma)
{
var f;
for(f=0;f<vecsuma.length;f++)
{
document.write(vecsuma[f]+' ');
}
}
var vec1;
vec1=new Array(5);
var vec2;
vec2=new Array(5);
var vecsuma;
vecsuma=new Array(5);
cargarVectores(vec1,vec2);
sumarVectores(vec1,vec2,vecsuma);
imprimirVector(vecsuma);
</script>
</body>
</html>
Clase Math
<script>
var selec=prompt('Ingrese un valor entre 1 y 10','');
selec=parseInt(selec);
var num=parseInt(Math.random()*10)+1;
if (num==selec)
document.write('Ganó el número que se sorteó es el '+ num);
else
document.write('Lo siento se sorteó el valor '+num+' y usted
eligió el '+selec);
</script>
</body>
</html>
<script>
var selec=prompt('Ingrese un valor entre 1 y 10','');
selec=parseInt(selec);
var num=parseInt(Math.random()*10)+1;
if (num==selec)
document.write('Ganó el número que se sorteó es el '+ num);
else
document.write('Lo siento se sorteó el valor '+num+' y usted eligió el '+selec);
</script>
</body>
</html>
Clase Math
Problemas
Codificar problema
Ejecución problema
PROBLEMAS
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var valor;
valor=prompt('Ingrese un valor:','');
valor=parseInt(valor);
var resu;
resu=Math.pow(valor,3);
document.write('El valor '+valor+' elevado a la 3 es '+resu);
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var valor;
valor=prompt('Ingrese un valor:','');
valor=parseInt(valor);
var resu;
resu=Math.sqrt(valor);
document.write('La raiz cuadrada de '+valor+' es '+resu);
</script>
</body>
</html>
Clase String
Métodos
charAt(pos)
indexOf (subCadena)
Devuelve la posición de la subcadena dentro de la cadena, o -1 en caso de
no estar.
toUpperCase()
Convierte todos los caracteres del String que invoca el método a
mayúsculas:
cadena1=cadena1.toUpperCase();
Ejemplo: Cargar un string por teclado y luego llamar a los distintos métodos
de la clase String y la propiedad length.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var cadena=prompt('Ingrese una cadena:','');
document.write('La cadena ingresada es:'+cadena);
document.write('<br>');
document.write('La cantidad de caracteres
son:'+cadena.length);
document.write('<br>');
document.write('El primer carácter es:'+cadena.charAt(0));
document.write('<br>');
document.write('Los primeros 3 caracteres
son:'+cadena.substring(0,3));
document.write('<br>');
if (cadena.indexOf('hola')!=-1)
document.write('Se ingresó la subcadena hola');
else
document.write('No se ingresó la subcadena hola');
document.write('<br>');
document.write('La cadena convertida a mayúsculas
es:'+cadena.toUpperCase());
document.write('<br>');
document.write('La cadena convertida a minúsculas
es:'+cadena.toLowerCase());
document.write('<br>');
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var cadena=prompt('Ingrese una cadena:','');
document.write('La cadena ingresada es:'+cadena);
document.write('<br>');
document.write('La cantidad de caracteres son:'+cadena.length);
document.write('<br>');
document.write('El primer carácter es:'+cadena.charAt(0));
document.write('<br>');
document.write('Los primeros 3 caracteres son:'+cadena.substring(0,3));
document.write('<br>');
if (cadena.indexOf('hola')!=-1)
document.write('Se ingresó la subcadena hola');
else
document.write('No se ingresó la subcadena hola');
document.write('<br>');
document.write('La cadena convertida a mayúsculas es:'+cadena.toUpperCase());
document.write('<br>');
document.write('La cadena convertida a minúsculas es:'+cadena.toLowerCase());
document.write('<br>');
</script>
</body>
</html>
Clase String
Problemas
Codificar problema
Ejecución problema
PROBLEMAS
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nombre;
var cant=0;
do {
nombre=prompt('Ingrese un nombre (Terminar ingresando Fin):','');
cant++;
} while (nombre!='Fin');
//para descontar la palabra Fin
cant--;
document.write('Se ingresaron '+cant+' palabras');
</script>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nombre;
var cant=0;
do {
nombre=prompt('Ingrese un nombre (Terminar ingresando Fin):','');
cant++;
nombre=nombre.toUpperCase();
} while (nombre!='FIN');
//para descontar la palabra Fin
cant--;
document.write('Se ingresaron '+cant+' palabras');
</script>
</body>
</html>
Problema 3.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var frase;
frase=prompt('Ingrese una oración:','');
document.write(frase+'<br><br>');
var palabra;
palabra=prompt('Ingrese una palabra:','');
if (frase.indexOf(palabra)!=-1)
{
document.write('La frase ingresada contiene la palabra: '+palabra);
}
else
{
document.write('La frase ingresada no contiene la palabra: '+palabra);
}
</script>
</body>
</html>
Problema 4.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var texto;
texto=prompt('Ingrese una palabra o frase:','');
var cant=0;
var f;
for(f=0;f<texto.length;f++)
{
if (texto.charAt(f)==texto.charAt(texto.length-1-f))
{
cant++;
}
}
if (cant==texto.length)
{
document.write(texto+' se lee igual en ambas direcciones');
}
else
{
document.write(texto+' no se lee igual en ambas direcciones');
}
</script>
</body>
</html>
Problema 5.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificarArroba(mail)
{
var cant=0;
var f;
for(f=0;f<mail.length;f++)
{
if (mail.charAt(f)=='@')
{
cant++;
}
}
if (cant!=0)
{
document.write('El mail '+mail+' tiene el caracter @');
}
else
{
document.write('El mail '+mail+' no tiene el caracter @');
}
}
var mail;
mail=prompt('Ingrese un mail:','');
verificarArroba(mail);
</script>
</body>
</html>
Problema 6.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mitad(frase)
{
document.write('Mitad inicial de la frase:');
var f;
for(f=0;f<frase.length/2;f++)
{
document.write(frase.charAt(f));
}
document.write('<br><br>');
}
function ultimoCaracter(frase)
{
document.write('Ultimo carácter:');
document.write(frase.charAt(frase.length-1));
document.write('<br><br>');
}
function imprimirInverso(frase)
{
document.write('En forma inversa:');
var f;
for(f=0;f<frase.length;f++)
{
document.write(frase.charAt(frase.length-f-1));
}
document.write('<br><br>');
}
function imprimirConGuion(frase)
{
document.write('Separados por guión:');
var f;
for(f=0;f<frase.length;f++)
{
document.write(frase.charAt(f)+'-');
}
document.write('<br><br>');
}
function cantidadVocales(frase)
{
var f;
var cant=0;
for(f=0;f<frase.length;f++)
{
if (frase.charAt(f)=='a' ||
frase.charAt(f)=='e' ||
frase.charAt(f)=='i' ||
frase.charAt(f)=='o' ||
frase.charAt(f)=='u' ||
frase.charAt(f)=='A' ||
frase.charAt(f)=='E' ||
frase.charAt(f)=='I' ||
frase.charAt(f)=='O' ||
frase.charAt(f)=='U')
{
cant++;
}
}
document.write('Cantidad de vocales:'+cant);
}
var frase;
frase=prompt('Ingrese una palabra o frase:','');
document.write(frase);
document.write('<br><br>');
mitad(frase);
ultimoCaracter(frase);
imprimirInverso(frase);
imprimirConGuion(frase);
cantidadVocales(frase);
</script>
</body>
</html>
Problema 7.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var frase;
frase=prompt('Ingrese una frase:','');
var f;
for(f=0;f<frase.length;f++)
{
if (frase.charAt(f)==' ')
{
document.write('<br>');
}
else
{
document.write(frase.charAt(f));
}
}
</script>
</body>
</html>
Formularios y Eventos.
El navegador crea un objeto por cada control visual que aparece dentro de
la página. Nosotros podemos acceder posteriormente desde JavaScript a
dichos objetos.
El objeto principal es el FORM que contendrá todos los otros objetos: TEXT
(editor de líneas), TEXTAREA (editor de varias líneas), etc.
<script>
var contador=0;
function incrementar()
{
contador++;
alert('El contador ahora vale :' + contador);
}
</script>
<form>
<input type="button" onClick="incrementar()"
value="incrementar">
</form>
</body>
</html>
A los eventos de los objetos HTML se les asocia una función, dicha función
se ejecuta cuando se dispara el evento respectivo. En este caso cada vez
que presionamos el botón, se llama a la función incrementar, en la misma
incrementamos la variable contador en uno. Hay que tener en cuenta que a
la variable contador la definimos fuera de la función para que no se inicialice
cada vez que se dispara el evento.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var contador=0;
function incrementar()
{
contador++;
alert('El contador ahora vale :' + contador);
}
</script>
<form>
<input type="button" onClick="incrementar()" value="incrementar">
</form>
</body>
</html>
Formularios y Eventos.
Problemas
Codificar problema
Ejecución problema
PROBLEMA
1. Crear un formulario con tres botones con las leyendas "1", "2" y
"3". Mostrar un mensaje indicando qué botón se presionó.
Problema 1.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function presion1()
{
alert('Se presionó el botón 1');
}
function presion2()
{
alert('Se presionó el botón 2');
}
function presion3()
{
alert('Se presionó el botón 3');
}
</script>
<form>
<input type="button" onClick="presion1()" value="Boton 1">
<input type="button" onClick="presion2()" value="Boton 2">
<input type="button" onClick="presion3()" value="Boton 3">
</form>
</body>
</html>
Hasta ahora hemos visto como crear un formulario con controles de tipo
BUTTON. Agregamos un control de tipo TEXT (permite al operador cargar
caracteres por teclado).
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrar()
{
var nom=document.getElementById('nombre').value;
var ed=document.getElementById('edad').value;
alert('Ingresó el nombre:' + nom);
alert('Y la edad:' + ed);
}
</script>
<form>
Ingrese su nombre:
<input type="text" id="nombre"><br>
Ingrese su edad:
<input type="text" id="edad"><br>
<input type="button" value="Confirmar" onClick="mostrar()">
</form>
</body>
</html>
Para hacer más clara la función guardamos en dos variables auxiliares los
contenidos de los controles de tipo TEXT.
El método getElementById nos retorna una referencia del objeto HTML que
le pasamos como parámetro, a partir de este objeto accedemos a la
propiedad value que almacena el valor ingresado por el operador en el
control TEXT.
<script>
function mostrar()
{
var nom=document.getElementById('nombre').value;
var ed=document.getElementById('edad').value;
alert('Ingresó el nombre:' + nom);
alert('Y la edad:' + ed);
}
</script>
<form>
Ingrese su nombre:
<input type="text" id="nombre"><br>
Ingrese su edad:
<input type="text" id="edad"><br>
<input type="button" value="Confirmar" onClick="mostrar()">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function calcularCubo()
{
var v=document.getElementById('num').value;
v=parseInt(v);
var cubo=v*v*v;
alert(cubo);
}
</script>
<form>
Ingrese un valor:
<input type="text" id="num">
<br>
<input type="button" value="Calcular cubo" onClick="calcularCubo()">
</form>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarMayor()
{
var num1=document.getElementById('num1').value;
var num2=document.getElementById('num2').value;
num1=parseInt(num1);
num2=parseInt(num2);
if (num1>num2)
{
alert('El manor es '+num1);
}
else
{
alert('El manor es '+num2);
}
}
</script>
<form>
Ingrese primer valor:
<input type="text" id="num1">
<br>
Ingrese segundo valor:
<input type="text" id="num2">
<br>
<input type="button" value="mostrar mayor" onClick="mostrarMayor()">
</form>
</body>
</html>
Problema 3.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function concatenar()
{
var nom=document.getElementById('nombre').value;
var ape=document.getElementById('apellido').value;
document.getElementById('resultado').value=nom+ape;
}
</script>
<form>
Ingrese nombre:
<input type="text" id="nombre">
<br>
Ingrese apellido:
<input type="text" id="apellido">
<br>
<input type="button" value="Concatenar datos ingresados" onClick="concatenar()">
<br>
<input type="text" id="resultado">
</form>
</body>
</html>
Control PASSWORD
Ejemplo: Codificar una página que permita ingresar una password y luego
muestre una ventana de alerta si tiene menos de 5 caracteres.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificar()
{
var clave=document.getElementById('clave').value;
if (clave.length<5)
{
alert('La clave no puede tener menos de 5 caracteres!!!');
}
else
{
alert('Largo de clave correcta');
}
}
</script>
<form>
Ingrese una clave:
<input type="password" id="clave">
<br>
<input type="button" value="Confirmar" onClick="verificar()">
</form>
</body>
</html>
<script>
function verificar()
{
var clave=document.getElementById('clave').value;
if (clave.length<5)
{
alert('La clave no puede tener menos de 5 caracteres!!!');
}
else
{
alert('Largo de clave correcta');
}
}
</script>
<form>
Ingrese una clave:
<input type="password" id="clave">
<br>
<input type="button" value="Confirmar" onClick="verificar()">
</form>
</body>
</html>
Control PASSWORD
Problemas
Codificar problema
Ejecución problema
PROBLEMA
<html>
<head>
</head>
<body>
<script type="text/javascript">
function verificar()
{
var clave1=document.getElementById('clave1').value;
var clave2=document.getElementById('clave2').value;
if (clave1==clave2)
{
alert('Las dos claves ingresadas son iguales');
}
else
{
alert('Las dos claves ingresadas son distintas');
}
}
</script>
<form>
Ingrese clave:
<input type="password" id="clave1">
<br>
Repita la clave:
<input type="password" id="clave2">
<br>
<input type="button" value="Verificar clave" onClick="verificar()">
</form>
</body>
</html>
Control SELECT
Este otro objeto visual que podemos disponer en un FORM permite realizar
la selección de un string de una lista y tener asociado al mismo un valor no
visible. El objetivo fundamental en JavaScript es determinar qué elemento
está seleccionado y qué valor tiene asociado. Esto lo hacemos cuando
ocurre el evento onChange.
document.getElementById('select1').options[document.getElementById('selec
t1').selectedIndex].text;
Es decir que el objeto select1 tiene otra propiedad llamada options, a la que
accedemos por medio de un subíndice, al string de una determinada
posición.
document.getElementById('select1').options[document.getElementById('selec
t1').selectedIndex].value;
<script>
function cambiarColor()
{
var seleccion=document.getElementById('select1');
document.getElementById('text1').value=seleccion.selectedInd
ex;
document.getElementById('text2').value=seleccion.options[sele
ccion.selectedIndex].text;
document.getElementById('text3').value=seleccion.options[sele
ccion.selectedIndex].value;
}
</script>
<form>
<select id="select1" onChange="cambiarColor()">
<option value="ff0000">Rojo</option>
<option value="00ff00">Verde</option>
<option value="0000ff">Azul</option>
</select>
<br>
Número de índice seleccionado del objeto SELECT:<input
type="text" id="text1"><br>
Texto seleccionado:<input type="text" id="text2"><br>
Valor asociado:<input type="text" id="text3"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function cambiarColor()
{
var seleccion=document.getElementById('select1');
document.getElementById('text1').value=seleccion.selectedIndex;
document.getElementById('text2').value=seleccion.options[seleccion.selectedIndex].text;
document.getElementById('text3').value=seleccion.options[seleccion.selectedIndex].value
;
}
</script>
<form>
<select id="select1" onChange="cambiarColor()">
<option value="ff0000">Rojo</option>
<option value="00ff00">Verde</option>
<option value="0000ff">Azul</option>
</select>
<br>
Número de índice seleccionado del objeto SELECT:<input type="text" id="text1"><br>
Texto seleccionado:<input type="text" id="text2"><br>
Valor asociado:<input type="text" id="text3"><br>
</form>
</body>
</html>
Control SELECT
Problemas
Codificar problema
Ejecución problema
PROBLEMAS
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarSeleccionPizza()
{
document.getElementById('mensaje').value =
document.getElementById('pizza').options[document.getElementById('pizza').selectedIndex].value;
}
</script>
<form>
Pizzas:
<select id="pizza" onChange="mostrarSeleccionPizza()">
<option value="180">Jamon y Queso</option>
<option value="150">Muzzarella</option>
<option value="170">Morrones</option>
</select>
<br>
<input type="text" id="mensaje">
</form>
</body>
</html>
Problema 2.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function calcularPresupuesto()
{
var ele1=document.getElementById('procesador')
var precio1=ele1.options[ele1.selectedIndex].value;
var ele2=document.getElementById('monitor')
var precio2=ele2.options[ele2.selectedIndex].value;
var ele3=document.getElementById('discoduro')
var precio3=ele3.options[ele3.selectedIndex].value;
precio1=parseInt(precio1);
precio2=parseInt(precio2);
precio3=parseInt(precio3);
var suma=precio1+precio2+precio3;
document.getElementById('resultado').value=suma;
}
</script>
<form>
Procesador:
<select id="procesador">
<option value="400">Intel I3</option>
<option value="600">Intel I5</option>
<option value="800">Intel I7</option>
</select>
<br>
Procesador:
<select id="monitor">
<option value="250">Monitor Samsung 20'</option>
<option value="350">Monitor Samsung 22'</option>
<option value="550">Monitor Samsung 26'</option>
</select>
<br>
Disco duro:
<select id="discoduro">
<option value="300">Disco Duro 500 Gb</option>
<option value="440">Disco Duro 1 Tb</option>
<option value="500">Disco Duro 3 Tb</option>
</select>
<br>
<input type="button" value="Calcular Presupuesto" onClick="calcularPresupuesto()">
<br>
<input type="text" id="resultado">
</form>
</body>
</html>
Problema 3.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function calcularPresupuesto()
{
var precio=document.getElementById('pizza').value;
precio=parseInt(precio);
var cantidad=document.getElementById('cantidad').value;
cantidad=parseInt(cantidad);
var total=precio*cantidad;
document.getElementById('resultado').value=total;
}
</script>
<form>
Seleccione la pizza:
<select id="pizza">
<option value="4">Queso</option>
<option value="6">Jamon y Queso</option>
<option value="10">Especial</option>
</select>
<br>
Cantidad de pizzas:
<input type="text" id="cantidad">
<br>
<input type="button" value="Calcular costo" onClick="calcularPresupuesto()">
<br>
<input type="text" id="resultado">
</form>
</body>
</html>
Problema 4.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificar()
{
var correctas=0;
var ele1=document.getElementById('pregunta1');
var ele2=document.getElementById('pregunta2');
var ele3=document.getElementById('pregunta3');
var ele4=document.getElementById('pregunta4');
if (ele1.options[ele1.selectedIndex].value==3)
{
correctas++;
}
if (ele2.options[ele2.selectedIndex].value==1)
{
correctas++;
}
if (ele3.options[ele3.selectedIndex].value==2)
{
correctas++;
}
if (ele4.options[ele4.selectedIndex].value==2)
{
correctas++;
}
alert('Cantidad de respuestas correctas:'+correctas);
}
</script>
<form>
Como se dice rojo en ingles:<br>
<select id="pregunta1">
<option value="1">blue</option>
<option value="2">green</option>
<option value="3">red</option>
</select>
<br>
Como se dice ventana en ingles:<br>
<select id="pregunta2">
<option value="1">window</option>
<option value="2">door</option>
<option value="3">bedroom</option>
</select>
<br>
Como se dice gato en ingles:<br>
<select id="pregunta3">
<option value="1">dog</option>
<option value="2">cat</option>
<option value="3">lion</option>
</select>
<br>
Como se dice hombre en ingles:<br>
<select id="pregunta4">
<option value="1">women</option>
<option value="2">man</option>
<option value="3">child</option>
</select>
<br>
<input type="button" value="Controlar" onClick="verificar()">
</form>
</body>
</html>
Control CHECKBOX
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function contarSeleccionados()
{
var cant=0;
if (document.getElementById('checkbox1').checked)
{
cant++;
}
if (document.getElementById('checkbox2').checked)
{
cant++;
}
if (document.getElementById('checkbox3').checked)
{
cant++;
}
if (document.getElementById('checkbox4').checked)
{
cant++;
}
alert('Conoce ' + cant + ' lenguajes');
}
</script>
<form>
<input type="checkbox" id="checkbox1">JavaScript
<br>
<input type="checkbox" id="checkbox2">PHP
<br>
<input type="checkbox" id="checkbox3">JSP
<br>
<input type="checkbox" id="checkbox4">VB.Net
<br>
<input type="button" value="Mostrar"
onClick="contarSeleccionados()">
</form>
</body>
</html>
<script>
function contarSeleccionados()
{
var cant=0;
if (document.getElementById('checkbox1').checked)
{
cant++;
}
if (document.getElementById('checkbox2').checked)
{
cant++;
}
if (document.getElementById('checkbox3').checked)
{
cant++;
}
if (document.getElementById('checkbox4').checked)
{
cant++;
}
alert('Conoce ' + cant + ' lenguajes');
}
</script>
<form>
<input type="checkbox" id="checkbox1">JavaScript
<br>
<input type="checkbox" id="checkbox2">PHP
<br>
<input type="checkbox" id="checkbox3">JSP
<br>
<input type="checkbox" id="checkbox4">VB.Net
<br>
<input type="button" value="Mostrar" onClick="contarSeleccionados()">
</form>
</body>
</html>
Control CHECKBOX
Problemas
Codificar problema
Ejecución problema
PROBLEMA
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificar()
{
var deportes='';
if (document.getElementById("checkbox1").checked)
{
deportes=deportes+'Fútbol ';
}
if (document.getElementById("checkbox2").checked)
{
deportes=deportes+'Básquet ';
}
if (document.getElementById("checkbox3").checked)
{
deportes=deportes+'Tenis';
}
alert('Los deportes seleccionados son:'+deportes);
}
</script>
<form>
Seleccione los deportes que practica:<br>
<input type="checkbox" id="checkbox1">Fútbol<br>
<input type="checkbox" id="checkbox2">Básquet<br>
<input type="checkbox" id="checkbox3">Tenis<br>
<input type="button" value="Controlar" onClick="verificar()">
</form>
</body>
</html>
Control RADIO
Ejemplo: Mostrar cuatro objetos de tipo RADIO que permitan seleccionar los
estudios que tiene un usuario:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarSeleccionado()
{
if (document.getElementById('radio1').checked)
{
alert('no tienes estudios');
}
if (document.getElementById('radio2').checked)
{
alert('tienes estudios primarios');
}
if (document.getElementById('radio3').checked)
{
alert('tienes estudios secundarios');
}
if (document.getElementById('radio4').checked)
{
alert('tienes estudios universitarios');
}
}
</script>
<form>
<input type="radio" id="radio1" name="estudios">Sin estudios
<br>
<input type="radio" id="radio2" name="estudios">Primarios
<br>
<input type="radio" id="radio3" name="estudios">Secundarios
<br>
<input type="radio" id="radio4"
name="estudios">Universitarios
<br>
<input type="button" value="Mostrar"
onClick="mostrarSeleccionado()">
</form>
</body>
</html>
Es importante notar que todos los objetos de tipo RADIO tienen definida la
propiedad name con el mismo valor (esto permite especificar que queremos
que los radios estén relacionados entre si)
Igual que el checkbox, la propiedad checked retorna true o false, según esté
o no seleccionado el control radio.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function mostrarSeleccionado()
{
if (document.getElementById('radio1').checked)
{
alert('no tienes estudios');
}
if (document.getElementById('radio2').checked)
{
alert('tienes estudios primarios');
}
if (document.getElementById('radio3').checked)
{
alert('tienes estudios secundarios');
}
if (document.getElementById('radio4').checked)
{
alert('tienes estudios universitarios');
}
}
</script>
<form>
<input type="radio" id="radio1" name="estudios">Sin estudios
<br>
<input type="radio" id="radio2" name="estudios">Primarios
<br>
<input type="radio" id="radio3" name="estudios">Secundarios
<br>
<input type="radio" id="radio4" name="estudios">Universitarios
<br>
<input type="button" value="Mostrar" onClick="mostrarSeleccionado()">
</form>
</body>
</html>
Control RADIO
Problemas
Codificar problema
Ejecución problema
PROBLEMA
1. Confeccionar una página que muestre dos objetos de la clase
RADIO solicitando que seleccione si es mayor de 18 años o no. Al
presionar un botón mostrar un alert indicando si puede ingresar al
sitio o no.
Problema 1.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificar()
{
if (document.getElementById('radio1').checked)
{
alert('Eres mayor de edad y por lo tanto puede ingresar');
}
if (document.getElementById('radio2').checked)
{
alert('No eres mayor de edad y por lo tanto no puede ingresar');
}
}
</script>
<form>
¿Es mayor de edad?
<br>
<input type="radio" id="radio1" name="edad">si<br>
<input type="radio" id="radio2" name="edad">no<br>
<input type="button" value="Verificar" onClick="verificar()">
</form>
</body>
</html>
Control TEXTAREA
<script>
function controlarCaracteres()
{
if (document.getElementById('curriculum').value.length>2000)
{
alert('curriculum muy largo');
}
else
{
alert('datos correctos');
}
}
</script>
<form>
<textarea id="curriculum" rows="10" cols="50" ></textarea>
<br>
<input type="button" value="Mostrar"
onClick="controlarCaracteres()">
</form>
</body>
</html>
<script>
function controlarCaracteres()
{
if (document.getElementById('curriculum').value.length>2000)
{
alert('curriculum muy largo');
}
else
{
alert('datos correctos');
}
}
</script>
<form>
<textarea id="curriculum" rows="10" cols="50" ></textarea>
<br>
<input type="button" value="Mostrar" onClick="controlarCaracteres()">
</form>
</body>
</html>
Control TEXTAREA
Problemas
Codificar problema
Ejecución problema
PROBLEMA
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificar()
{
var nombre=document.getElementById('nombre').value;
var mail=document.getElementById('mail').value;
var comentarios=document.getElementById('comentarios').value;
alert(nombre+'\n'+mail+'\n'+comentarios);
}
</script>
<form>
Ingrese nombre:
<input type="text" id="nombre"><br>
Ingrese mail:
<input type="text" id="mail"><br>
Comentarios:<br>
<textarea id="comentarios" rows="20" cols="100"></textarea><br>
<input type="button" value="confirmar" onClick="verificar()">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function vaciar(control)
{
control.value='';
}
function verificarEntrada(control)
{
if (control.value=='')
alert('Debe ingresar datos');
}
</script>
<form>
<input type="text" id="nombre" onFocus="vaciar(this)"
onBlur="verificarEntrada(this)" value="nombre"><br>
<input type="text" id="edad" onFocus="vaciar(this)"
onBlur="verificarEntrada(this)" value="mail">
<br>
<input type="button" value="Confirmar">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function vaciar(control)
{
control.value='';
}
function verificarEntrada(control)
{
if (control.value=='')
alert('Debe ingresar datos');
}
</script>
<form>
<input type="text" id="nombre" onFocus="vaciar(this)"
onBlur="verificarEntrada(this)" value="nombre"><br>
<input type="text" id="edad" onFocus="vaciar(this)"
onBlur="verificarEntrada(this)" value="mail">
<br>
<input type="button" value="Confirmar">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificar(control)
{
if (control.value.length<7 || control.value.length>20)
{
alert('cantidad de caracteres no valido en la clave(deben ser entre 7-20 caracteres)');
}
}
</script>
<form>
Ingrese nombre de usuario:
<input type="text" id="usuario"><br>
Ingrese clave:
<input type="password" id="clave" onBlur="verificar(this)"><br>
<input type="button" value="confirmar">
</form>
</body>
</html>
Implementaremos una función que cambie el color con un valor que llegue
como parámetro. Cuando retiramos la flecha del mouse volvemos a pintar
de negro el fondo de cuadrado:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function pintar(col)
{
document.getElementById('cuadrado1').style.backgroundColor
=col;
}
</script>
</body>
</html>
<script>
function pintar(objeto,col)
{
objeto.style.backgroundColor=col;
}
</script>
<table border="1">
<tr>
<td onMouseOver="pintar(this,'#f00')"
onMouseOut="pintar(this,'#fff')">rojo</td>
<td onMouseOver="pintar(this,'#0f0')"
onMouseOut="pintar(this,'#fff')">verde</td>
<td onMouseOver="pintar(this,'#00f')"
onMouseOut="pintar(this,'#fff')">azul</td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function pintar(col)
{
document.getElementById('cuadrado1').style.backgroundColor=col;
}
</script>
</body>
</html>
Listado completo de tutoriales
Evento onLoad
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body onLoad="activarPrimerControl()">
<script>
function activarPrimerControl()
{
document.getElementById('nombre').focus();
}
</script>
<form>
Ingrese su nombre:
<input type="text" id="nombre"><br>
Ingrese su edad:
<input type="text" id="edad"><br>
<input type="button" value="Confirmar">
</form>
</body>
</html>
<script>
function activarPrimerControl()
{
document.getElementById('nombre').focus();
}
</script>
<form>
Ingrese su nombre:
<input type="text" id="nombre"><br>
Ingrese su edad:
<input type="text" id="edad"><br>
<input type="button" value="Confirmar">
</form>
</body>
</html>
Evento onLoad
Problemas
Codificar problema
Ejecución problema
PROBLEMA
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body onLoad="mostrarMensaje()">
<script>
function mostrarMensaje()
{
alert('La página está cargada');
}
</script>
<h1>Bienvenidos</h1>
</body>
</html>
El objeto window.
Es bueno hacer notar que a todas estas funciones las podemos llamar
anteponiéndole el nombre del objeto window, seguida del método o en
forma resumida indicando solamente el nombre del método (como lo hemos
estado haciendo), esto es posible ya que el objeto window es el objeto de
máximo nivel.
Ej:
valor=window.prompt("Ingrese valor","");
o
valor=prompt("Ingrese valor","");
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function abrir()
{
var ventana=open();
ventana.document.write("Estoy escribiendo en la nueva
ventana<br>");
ventana.document.write("Segunda linea");
}
function abrirParametros()
{
var
ventana=open('','','status=yes,width=400,height=250,menubar=
yes');
ventana.document.write("Esto es lo primero que
aparece<br>");
}
function mostrarAlerta()
{
alert("Esta ventana de alerta ya la utilizamos en otros
problemas.");
}
function confirmar()
{
var respuesta=confirm("Presione alguno de los dos
botones");
if (respuesta==true)
alert("presionó aceptar");
else
alert("presionó cancelar");
}
function cargarCadena()
{
var cad=prompt("cargue una cadena:","");
alert("Usted ingreso "+cad);
}
</script>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function abrir()
{
var ventana=open();
ventana.document.write("Estoy escribiendo en la nueva ventana<br>");
ventana.document.write("Segunda linea");
}
function abrirParametros()
{
var ventana=open('','','status=yes,width=400,height=250,menubar=yes');
ventana.document.write("Esto es lo primero que aparece<br>");
}
function mostrarAlerta()
{
alert("Esta ventana de alerta ya la utilizamos en otros problemas.");
}
function confirmar()
{
var respuesta=confirm("Presione alguno de los dos botones");
if (respuesta==true)
alert("presionó aceptar");
else
alert("presionó cancelar");
}
function cargarCadena()
{
var cad=prompt("cargue una cadena:","");
alert("Usted ingreso "+cad);
}
</script>
El objeto window.
Problemas
Codificar problema
Ejecución problema
PROBLEMA
<script>
function abrirVentana()
{
var ventana=open('','','width=600,height=300');
}
</script>
<form>
<input type="button" value="abrir ventana" onClick="abrirVentana()">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function verificarEntrada()
{
if (window.confirm('Desea salir del sitio e ingresar
al periódico La Nación?'))
{
window.location='http://www.lanacion.com.ar';
}
else
{
window.alert('No hay problema');
}
}
</script>
<button onClick="verificarEntrada()">Ingresar a La
Nación</button>
</body>
</html>
<script>
function verificarEntrada()
{
if (window.confirm('Desea salir del sitio e ingresar al periódico La Nación?'))
{
window.location='http://www.lanacion.com.ar';
}
else
{
window.alert('No hay problema');
}
}
</script>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function redireccionar()
{
var num;
num=Math.random()*3;
num=parseInt(num);
if (num==0)
{
window.location='http://www.outlook.com';
}
if (num==1)
{
window.location='http://www.yahoo.com';
}
if (num==2)
{
window.location='http://www.gmail.com';
}
}
</script>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function avanzar()
{
window.history.go(1);
}
</script>
</head>
<body>
<a href="pagina2.html">Ir a la página 2</a>
<br>
<br>
<a href="javascript:avanzar()">Extraer del cache la segunda
página</a>
</body>
</html>
La segunda página:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function retornar()
{
window.history.go(-1);
}
</script>
<a href="javascript:retornar()">Retornar</a>
</body>
</html>
<script>
document.write('Valores de las propiedades del objeto
screen:<br>');
document.write('availHeight :' + screen.availHeight + '<br>');
document.write('availWidth :' + screen.availWidth + '<br>');
document.write('height :' + screen.height + '<br>');
document.write('width :' + screen.width + '<br>');
document.write('colorDepth :' + screen.colorDepth);
</script>
</body>
</html>
No olvidar que el objeto screen es una propiedad del objeto window, por lo
que haber dispuesto la sintaxis: window.screen.width etc. es la forma más
completa, pero más tediosa de escribir (recordar que el objeto window es el
principal y lo podemos obviar cuando accedemos a sus propiedades o
métodos)
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
document.write('Valores de las propiedades del objeto screen:<br>');
document.write('availHeight :' + screen.availHeight + '<br>');
document.write('availWidth :' + screen.availWidth + '<br>');
document.write('height :' + screen.height + '<br>');
document.write('width :' + screen.width + '<br>');
document.write('colorDepth :' + screen.colorDepth);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function abrirVentana()
{
var ventana=open('','','width='+ screen.availWidth
+',height='+screen.availHeight/2);
}
</script>
<form>
<input type="button" value="abrir ventana" onClick="abrirVentana()">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
document.write('Valores de las propiedades del objeto
navigator:<br>');
document.write('appName :' + navigator.appName + '<br>');
document.write('appVersion :' + navigator.appVersion +
'<br>');
document.write('cookieEnabled :' + navigator.cookieEnabled +
'<br>');
document.write('plugins :' + navigator.plugins.length + '<br>');
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
document.write('Valores de las propiedades del objeto navigator:<br>');
document.write('appName :' + navigator.appName + '<br>');
document.write('appVersion :' + navigator.appVersion + '<br>');
document.write('cookieEnabled :' + navigator.cookieEnabled + '<br>');
document.write('plugins :' + navigator.plugins.length + '<br>');
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body onLoad="verificar()">
<script>
function verificar()
{
if (navigator.cookieEnabled==true)
{
alert('Acceso a cookies activadas');
}
else
{
alert('No se encuentran activadas las cookies en este navegador');
}
}
</script>
<h1>Bienvenidos</h1>
</body>
</html>
funciones.js
function retornarFecha()
{
var fecha
fecha=new Date();
var
cadena=fecha.getDate()+'/'+(fecha.getMonth()+1)+'/'+fecha.get
Year();
return cadena;
}
function retornarHora()
{
var fecha
fecha=new Date();
var
cadena=fecha.getHours()+':'+fecha.getMinutes()+':'+fecha.getS
econds();
return cadena;
}
2 - Creamos un archivo html que utilizará las funciones contenidas en el
archivo funciones.js:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script src="funciones.js"></script>
<script>
document.write('La fecha de hoy es:'+retornarFecha());
document.write('<br>');
document.write('La hora es:'+retornarHora());
</script>
</body>
</html>
Si quiere probar en su equipo este ejemplo debe generar los dos archivos
'funciones.js' y 'pagina1.html', luego llamar desde el navegador la página
HTML.
Programación orientada a objetos en JavaScript.
function Cliente(nombre,saldo)
{
this.nombre=nombre;
this.saldo=saldo;
this.depositar=depositar;
this.extraer=extraer;
}
function depositar(dinero)
{
this.saldo=this.saldo+dinero;
}
function extraer(dinero)
{
this.saldo=this.saldo-dinero;
}
A ésta función llegan como parámetro los valores con que queremos
inicializar los atributos. Con la palabra clave 'this' diferenciamos los atributos
de los parámetros (los atributos deben llevar la palabra clave this)
this.nombre=nombre;
this.saldo=saldo;
function extraer(dinero)
{
this.saldo=this.saldo-dinero;
}
<script>
function Cliente(nombre,saldo)
{
this.nombre=nombre;
this.saldo=saldo;
this.depositar=depositar;
this.extraer=extraer;
}
function depositar(dinero)
{
this.saldo=this.saldo+dinero;
}
function extraer(dinero)
{
this.saldo=this.saldo-dinero;
}
var cliente1;
cliente1=new Cliente('diego',1200);
document.write('Nombre del cliente:'+cliente1.nombre+'<br>');
document.write('Saldo actual:'+cliente1.saldo+'<br>');
cliente1.depositar(120);
document.write('Saldo luego de depositar $120----
>'+cliente1.saldo+'<br>');
cliente1.extraer(1000);
document.write('Saldo luego de extraer $1000----
>'+cliente1.saldo+'<br>');
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function Cliente(nombre,saldo)
{
this.nombre=nombre;
this.saldo=saldo;
this.depositar=depositar;
this.extraer=extraer;
}
function depositar(dinero)
{
this.saldo=this.saldo+dinero;
}
function extraer(dinero)
{
this.saldo=this.saldo-dinero;
}
var cliente1;
cliente1=new Cliente('diego',1200);
document.write('Nombre del cliente:'+cliente1.nombre+'<br>');
document.write('Saldo actual:'+cliente1.saldo+'<br>');
cliente1.depositar(120);
document.write('Saldo luego de depositar $120---->'+cliente1.saldo+'<br>');
cliente1.extraer(1000);
document.write('Saldo luego de extraer $1000---->'+cliente1.saldo+'<br>');
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function Suma(valor1,valor2)
{
this.valor1=valor1;
this.valor2=valor2;
this.primerValor=primerValor;
this.segundoValor=segundoValor;
this.retornarResultado=retornarResultado;
}
function primerValor(valor1)
{
this.valor1=valor1;
}
function segundoValor(valor2)
{
this.valor2=valor2;
}
function retornarResultado()
{
return this.valor1+this.valor2;
}
var suma1;
suma1=new Suma(5,10);
document.write('La suma de 5 y 10 es:'+suma1.retornarResultado()+'<br>');
suma1.primerValor(70);
suma1.segundoValor(30);
document.write('La suma de 70 y 30 es:'+suma1.retornarResultado()+'<br>');
</script>
</body>
</html>
Por otra parte crearemos una clase Bolillero que sortee un valor aleatorio
entre 1 y 10 (que representa el valor extraído del bolillero)
La codificación de las dos clases es:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function cargarnumero()
{
this.numero=prompt("Que número de quiniela quiere?","");
}
function verificarsigano(num)
{
if (this.numero==num)
return true;
else
return false;
}
function sortear()
{
this.numero=parseInt(Math.random()*10)+1;
}
// bloque principal
var numeroquiniela1;
numeroquiniela1=new Numeroquiniela("juan");
numeroquiniela1.cargarnumero();
var numeroquiniela2;
numeroquiniela2=new Numeroquiniela("ana");
numeroquiniela2.cargarnumero();
var bolillero;
bolillero=new Bolillero();
bolillero.sortear();
document.write('Numero sorteado:' + bolillero.numero +
'<br>');
document.write(numeroquiniela1.nombre + ' eligió ' +
numeroquiniela1.numero +'<br>');
document.write(numeroquiniela2.nombre + ' eligió ' +
numeroquiniela2.numero +'<br>');
if (numeroquiniela1.verificarsigano(bolillero.numero))
{
document.write(numeroquiniela1.nombre + ' ha ganado
<br>');
}
if (numeroquiniela2.verificarsigano(bolillero.numero))
{
document.write(numeroquiniela2.nombre + ' ha ganado
<br>');
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function cargarnumero()
{
this.numero=prompt("Que número de quiniela quiere?","");
}
function verificarsigano(num)
{
if (this.numero==num)
return true;
else
return false;
}
function sortear()
{
this.numero=parseInt(Math.random()*10)+1;
}
// bloque principal
var numeroquiniela1;
numeroquiniela1=new Numeroquiniela("juan");
numeroquiniela1.cargarnumero();
var numeroquiniela2;
numeroquiniela2=new Numeroquiniela("ana");
numeroquiniela2.cargarnumero();
var bolillero;
bolillero=new Bolillero();
bolillero.sortear();
document.write('Numero sorteado:' + bolillero.numero + '<br>');
document.write(numeroquiniela1.nombre + ' eligió ' + numeroquiniela1.numero +'<br>');
document.write(numeroquiniela2.nombre + ' eligió ' + numeroquiniela2.numero +'<br>');
if (numeroquiniela1.verificarsigano(bolillero.numero))
{
document.write(numeroquiniela1.nombre + ' ha ganado <br>');
}
if (numeroquiniela2.verificarsigano(bolillero.numero))
{
document.write(numeroquiniela2.nombre + ' ha ganado <br>');
}
</script>
</body>
</html>
Vectores con componentes de tipo objeto.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function Hipervinculo(direccion,titulo)
{
this.direccion=direccion;
this.titulo=titulo;
this.retornarhipervinculo=retornarhipervinculo;
}
function retornarhipervinculo()
{
var cadena;
cadena='<a href=' + this.direccion + '>' + this.titulo + '</a>';
return cadena;
}
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function Hipervinculo(direccion,titulo)
{
this.direccion=direccion;
this.titulo=titulo;
this.retornarhipervinculo=retornarhipervinculo;
}
function retornarhipervinculo()
{
var cadena;
cadena='<a href=' + this.direccion + '>' + this.titulo + '</a>';
return cadena;
}
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function Persona(nombre,edad)
{
this.nombre=nombre;
this.edad=edad;
this.imprimirNombre=imprimirNombre;
}
function imprimirNombre()
{
document.write(this.nombre+' que tiene una edad '+this.edad+'<br>' );
}
</body>
</html>
Veremos ahora otra forma muy utilizada en Javascript para definir objetos.
Esta forma se la llama Objetos literales
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var cliente1 = {
nombre: 'Juan',
deposito: 0,
imprimir: function ()
{
document.write(this.nombre+'<br>');
document.write(this.deposito+'<br>');
},
depositar: function(monto) {
this.deposito=this.deposito+monto;
},
extraer: function(monto) {
this.deposito=this.deposito-monto;
}
};
cliente1.imprimir();
cliente1.depositar(1000);
document.write('Estado luego de depositar 1000 pesos</br>');
cliente1.imprimir();
cliente1.extraer(200);
document.write('Estado luego de extraer 200 pesos</br>');
cliente1.imprimir();
</script>
</body>
</html>
Del lado izquierdo de los dos puntos indicamos el nombre de la función y del
lado derecho utilizamos la palabra clave function junto con los parámetros.
Ahora solo nos falta hacer la llamada a las funciones del objeto cliente1:
cliente1.imprimir();
cliente1.depositar(1000);
document.write('Estado luego de depositar 1000 pesos</br>');
cliente1.imprimir();
cliente1.extraer(200);
document.write('Estado luego de extraer 200 pesos</br>');
cliente1.imprimir();
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var cliente1 = {
nombre: 'Juan',
deposito: 0,
imprimir: function ()
{
document.write(this.nombre+'<br>');
document.write(this.deposito+'<br>');
},
depositar: function(monto) {
this.deposito=this.deposito+monto;
},
extraer: function(monto) {
this.deposito=this.deposito-monto;
}
};
cliente1.imprimir();
cliente1.depositar(1000);
document.write('Estado luego de depositar 1000 pesos</br>');
cliente1.imprimir();
cliente1.extraer(200);
document.write('Estado luego de extraer 200 pesos</br>');
cliente1.imprimir();
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var jugador1 = {
nombre: 'ana',
puntos: 0,
imprimir: function() {
document.write('Nombre:'+this.nombre+'<br>');
document.write('Puntos:'+this.puntos+'<br>');
},
aumentarpuntos: function(cant) {
this.puntos=this.puntos+cant;
},
verificarsigano: function() {
if (this.puntos>1000)
{
document.write('Gano<br>');
}
}
};
jugador1.imprimir();
jugador1.aumentarpuntos(500);
jugador1.verificarsigano();
jugador1.aumentarpuntos(501);
jugador1.verificarsigano();
jugador1.imprimir();
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vector1=new Array();
vector1[0]=1;
var vector2=[];
vector2[0]=1;
document.write(vector1[0]+'<br>');
document.write(vector2[0]+'<br>');
document.write(vector3[0]+'<br>');
document.write(vector4[0]+'<br>');
document.write(vector5[0]+'<br>');
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vector1=new Array();
vector1[0]=1;
var vector2=[];
vector2[0]=1;
document.write(vector1[0]+'<br>');
document.write(vector2[0]+'<br>');
document.write(vector3[0]+'<br>');
document.write(vector4[0]+'<br>');
document.write(vector5[0]+'<br>');
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var meses=new
Array('enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','dic
iembre');
var dias=['lunes','martes','miercoles','jueves','viernes','sábado','domingo'];
var f;
for(f=0;f<meses.length;f++)
{
document.write(meses[f]+'<br>');
}
document.write('<br>');
for(f=0;f<dias.length;f++)
{
document.write(dias[f]+'<br>');
}
</script>
</body>
</html>
Array: densos
Una propiedad de suma utilidad trabajando los vectores sin dejar subíndices
sin utilizar es la propiedad length. La propiedad length almacena la cantidad
de componentes que tiene el vector.
Problema
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[];
var valor;
var indice=0;
do {
valor=prompt('Ingrese un valor entero (0 para finalizar)','');
valor=parseInt(valor);
if (valor!=0)
{
vec[indice]=valor;
indice++;
}
} while (valor!=0);
var f;
var suma=0;
for(f=0;f<vec.length;f++)
{
suma=suma+vec[f];
}
document.write('Se ingresaron '+vec.length+' valores<br>');
document.write('La suma de los valores ingresados
es:'+suma);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[];
var valor;
var indice=0;
do {
valor=prompt('Ingrese un valor entero (0 para finalizar)','');
valor=parseInt(valor);
if (valor!=0)
{
vec[indice]=valor;
indice++;
}
} while (valor!=0);
var f;
var suma=0;
for(f=0;f<vec.length;f++)
{
suma=suma+vec[f];
}
document.write('Se ingresaron '+vec.length+' valores<br>');
document.write('La suma de los valores ingresados es:'+suma);
</script>
</body>
</html>
Array: densos
Problemas
Codificar problema
Ejecución problema
PROBLEMA
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec1=[];
var f;
for(f=0;f<10;f++)
{
vec1[f]=parseInt(1+(Math.random()*500));
}
var vec2=[];
var vec3=[];
var indice1=0;
var indice2=0;
for(f=0;f<vec1.length;f++)
{
if(vec1[f]<250)
{
vec2[indice1]=vec1[f];
indice1++;
}
else
{
vec3[indice2]=vec1[f];
indice2++;
}
}
document.write('Tamaño del primer vector'+vec1.length+'<br>');
document.write('Tamaño del segundo vector'+vec2.length+'<br>');
document.write('Tamaño del tercer vector'+vec3.length+'<br>');
document.write('Elementos del primer vector.<br>');
for(f=0;f<vec1.length;f++)
{
document.write(vec1[f]+'-');
}
document.write('<br>');
document.write('Elementos del segundo vector.<br>');
for(f=0;f<vec2.length;f++)
{
document.write(vec2[f]+'-');
}
document.write('<br>');
document.write('Elementos del tercer vector.<br>');
for(f=0;f<vec3.length;f++)
{
document.write(vec3[f]+'-');
}
</script>
</body>
</html>
Hasta ahora siempre que inicializamos los array no dejamos espacios sin
utilizar. Javascript permite crear array e inicializar componentes no
contiguas.
Este tipo de array se los llama array dispersos ya que no tenemos todas las
componentes contiguas ocupadas. Veamos con un ejemplo que pasa con la
propiedad length y cuando accedemos a componentes que no existen en el
vector:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[];
vec[5]=100;
vec[10]=200;
document.write('Atributo length:'+vec.length+'<br>');
var f;
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
Problema
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var depositos=[];
var nro,monto;
do {
nro=prompt('Ingrese nro de cliente','');
nro=parseInt(nro);
if (nro!=0)
{
monto=prompt('Ingrese monto a depositar','');
monto=parseInt(monto);
depositos[nro]=monto;
}
} while (nro!=0);
var suma=0;
var canti=0;
for(var f=0;f<depositos.length;f++)
{
if (depositos[f]!==undefined)
{
suma=suma+depositos[f];
canti++;
}
}
document.write('Cantidad de depósitos:'+canti+'<br>');
document.write('Total depositado por todos los
clientes:'+suma);
</script>
</body>
</html>
Cuando sale del do/while mediante un ciclo for analizamos cada una de las
componentes posibles del vector verificando si el valor es distinto a
undefined (es importante notar que debemos utilizar el operador relacionar
!== en lugar de != ya que no funcionaría cuando una componente almacene
null):
for(var f=0;f<depositos.length;f++)
{
if (depositos[f]!==undefined)
{
suma=suma+depositos[f];
canti++;
}
}
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var depositos=[];
var nro,monto;
do {
nro=prompt('Ingrese nro de cliente','');
nro=parseInt(nro);
if (nro!=0)
{
monto=prompt('Ingrese monto a depositar','');
monto=parseInt(monto);
depositos[nro]=monto;
}
} while (nro!=0);
var suma=0;
var canti=0;
for(var f=0;f<depositos.length;f++)
{
if (depositos[f]!==undefined)
{
suma=suma+depositos[f];
canti++;
}
}
document.write('Cantidad de depósitos:'+canti+'<br>');
document.write('Total depositado por todos los clientes:'+suma);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var carton=[];
var f;
var cant=0;
do {
var premio=parseInt(Math.random()*1000);
carton[premio]=1000*(cant+1);
cant++;
} while (cant!=11);
for(f=0;f<carton.length;f++)
{
if (carton[f]!==undefined)
{
document.write('Carton '+f+' tiene un premio de '+carton[f]+'<br>');
}
}
</script>
</body>
</html>
Como los Array en Javascript son objetos, los mismos tienen una serie de
métodos que nos facilitan trabajar con ellos.
Para insertar elementos en un vector hemos visto que con solo asignar un
valor al vector en un determinado índice el dato queda almacenado y
eventualmente el atributo length modificado:
var vec=[];
vec[0]=10;
vec[1]=20;
document.write(vec.length); //imprime 2
Esta sintaxis tenemos que tener cuidado como variamos el subíndice para
no dejar componentes vacías si queremos implementar un array denso.
Una variante para resolver este mismo problema es utilizar el método push
del objeto Array. Este método añade el valor al final del vector:
var vec=[];
vec.push(10);
vec.push(20);
document.write(vec.length); //imprime 2
Problema
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var sueldos=[];
var monto;
do {
monto=prompt('Ingrese el sueldo (0 para finalizar):','');
monto=parseInt(monto);
if (monto!=0)
{
sueldos.push(monto);
}
} while (monto!=0);
var suma=0;
for(var f=0;f<sueldos.length;f++)
{
suma=suma+sueldos[f];
}
document.write('El total en sueldos ingresado es:'+suma);
</script>
</body>
</html>
<script>
var sueldos=[];
var monto;
do {
monto=prompt('Ingrese el sueldo (0 para finalizar):','');
monto=parseInt(monto);
if (monto!=0)
{
sueldos.push(monto);
}
} while (monto!=0);
var suma=0;
for(var f=0;f<sueldos.length;f++)
{
suma=suma+sueldos[f];
}
document.write('El total en sueldos ingresado es:'+suma);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[];
var f;
for(f=0;f<5;f++)
{
var nro=1+(Math.random()*1000);
vec.push(parseInt(nro));
}
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
var sumaultimos=vec.pop()+vec.pop();
document.write('La suma de las dos últimas componentes es:'+sumaultimos+'<br>');
document.write('Tamaño final del vector'+vec.length+'<br>');
document.write('Elementos restantes del vector<br>');
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
Así como el método push inserta un elemento al final del vector el método
unshift inserta un elemento al principio del vector y desplaza el resto una
posición.
Problema
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[];
var f;
var valor;
do {
valor=prompt('Ingresar un valor (0 para finalizar):','');
valor=parseInt(valor);
if (valor<100)
{
vec.unshift(valor);
}
else
{
vec.push(valor);
}
} while (valor!=0);
vec.shift();
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
Fuera del do/while procedemos a extraer el primer elemento del vector que
es el cero:
vec.shift();
<script>
var vec=[];
var f;
var valor;
do {
valor=prompt('Ingresar un valor (0 para finalizar):','');
valor=parseInt(valor);
if (valor<100)
{
vec.unshift(valor);
}
else
{
vec.push(valor);
}
} while (valor!=0);
vec.shift();
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
Array: instrucción delete
Problema
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[];
var f;
for(f=0;f<10;f++)
{
var valor=parseInt(Math.random()*1000);
vec.push(valor);
}
document.write('Vector antes de borrar<br>');
for(f=0;f<10;f++)
{
document.write(vec[f]+'<br>');
}
for(f=0;f<10;f=f+2)
{
delete vec[f];
}
document.write('Vector luego de borrar las posiciones
pares<br>');
for(f=0;f<10;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[];
var f;
for(f=0;f<10;f++)
{
var valor=parseInt(Math.random()*1000);
vec.push(valor);
}
document.write('Vector antes de borrar<br>');
for(f=0;f<10;f++)
{
document.write(vec[f]+'<br>');
}
for(f=0;f<10;f=f+2)
{
delete vec[f];
}
document.write('Vector luego de borrar las posiciones pares<br>');
for(f=0;f<10;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
Array: métodos sort y reverse
Otro método muy útil de la clase Array es sort. La sintaxis más sencilla y por
defecto es para ordenar una lista de string:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var nombres=['marcos','ana','luis','jorge','carlos'];
var f;
document.write('Vector antes de ordenarlo<br>');
for(f=0;f<nombres.length;f++)
{
document.write(nombres[f]+'<br>');
}
nombres.sort();
document.write('Vector después de ordenarlo<br>');
for(f=0;f<nombres.length;f++)
{
document.write(nombres[f]+'<br>');
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[100,5,60,3,90];
var f;
document.write('Vector antes de ordenarlo<br>');
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
vec.sort(function(v1,v2) {
if (v1>v2)
return 1;
else
return 0;
});
document.write('Vector después de ordenarlo<br>');
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
Como vemos al método sort hemos pasado una función que retorna un 1 o
0:
vec.sort(function(v1,v2) {
if (v1>v2)
return 1;
else
return 0;
});
Problema
<script>
var vec=new Array(10);
var f;
for(f=0;f<vec.length;f++)
{
vec[f]=parseInt(Math.random()*1000);
}
vec.sort(function(v1,v2) {
if (v1>v2)
return 1;
else
return 0;
});
document.write('Vector ordenado en forma ascendente<br>');
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
vec.reverse();
document.write('Vector ordenado en forma
descendente<br>');
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var vec=[100,5,60,3,90];
var f;
document.write('Vector antes de ordenarlo<br>');
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
vec.sort(function(v1,v2) {
if (v1>v2)
return 1;
else
return 0;
});
document.write('Vector después de ordenarlo<br>');
for(f=0;f<vec.length;f++)
{
document.write(vec[f]+'<br>');
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<script>
var sueldos=[];
var valor;
do {
valor=prompt('Ingrese el sueldo (cero para finalizar)','');
valor=parseInt(valor);
if (valor!=0)
sueldos.push(valor);
} while (valor!=0);
sueldos.sort(function(x,y) {
if (x>y)
return 1;
else
return 0;
});
</body>
</html>