Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIN
En un principio las pginas Web disponan de un contenido esttico, tan slo permitan que el usuario utilizase enlaces para moverse entre las distintas partes de su contenido. Con el paso del tiempo se ha visto la necesidad de desarrollar tecnologas que permitan dotar a las pginas de internet de interactividad, es decir, dar la posibilidad al usuario de interactuar con la informacin que se presenta en los navegadores. El primer lenguaje utilizado para crear pginas Web fue el sencillo y manejable lenguaje de hipertexto llamado HTML. Este lenguaje permite mostrar texto e imgenes en los navegadores, as como crear enlaces entre todos sus elementos. Posteriormente, se Netscape Corporation creo el lenguaje JavaScript para permitir, de una manera sencilla, introducir una mayor interactividad en las pginas Web. El cdigo JavaScript puede ser incorporado directamente en las pginas HTML y no se requieren complejos conceptos de programacin para su uso.
instruccin document.write(texto)
<SCRIPT LANGUAGE="JavaScript"> <!-document.write ("Este texto est escrito con JavaScript"); //--> </SCRIPT>
[Ejecucin]
Ejemplo 2.2: Utilizar las intrucciones: navigator.appName, que indica el nombre del navegador y navigator.appVersion, que nos indica la versin, para ver esta
[Ejecucin]
3. VARIABLES Y VALORES
Las variables son elementos del lenguaje que permiten almacenar distintos valores en cada momento. Se puede almacenar un valor en una variable y consultar este valor posteriormente, tambin podemos modificar su contenido siempre que queramos.
Definir variables
Para declarar las variables en JavaScript se utiliza la instruccin var. A cada variable se le asigna un nombre, y opcionamente, un valor inical. Si no se trata de una funcin, la instruccin var es opcional, pero se recomienda utilizarla.
var ejemplo; ejemplo= "Hola"; es lo mismo que var ejemplo="Hola"
Nombrar variables
Cada variable es identificada por un nombre. Al asignar un nombre a una variables se deben tener en cuenta las siguientes reglas:
Se pueden utilizar todas las letras del alfabeto en maysculas y minsculas, los nmeros del 0 al 9 y el guin subrayado. Los nombres de las variables no pueden contener puntos ni espacios en blanco. El primer carcter ha de ser una letra o el guin subrayado. En el nombre se hace distincin entre maysculas y minsculas. No se puede utilizar como nombre ninguna de las palabras reservadas para JavaScript, es decir, no se pueden utilizar palabras que coincidan con las queque pertenecen al lenguaje JavaScript. Oficialmente no hay restricciones en cuanto a la longitud del nombre, pero ste debe caber en una sola lnea.
Nombre de variables vlidos Nombres de variables no vlidos Aux_Nombre mail1 _primero resultado Aux nombre 1mail entrada.primero JavaScript
Tipos de variables
Los tipos de valores que puede contener una variable JavaScript son:
Nmeros: puede contener cualquier tipo de nmero real o entero. Operadores lgicos o boolean: puede contener uno de los siguiente valores: true, false, 1 y 0. Cadenas de caracteres o String: cualquier combinacin de caracteres (letras, numeros, signos especiales y espacios). Las cadenas se delimitan mediante comillas dobles o simples. Las comillas simples, por norma, sern utilizadas dentro de fragmentos de cdigo delimitados por comillas dobles o viceversa.
Tipo de variable Numrica Variable numero1 = 3; numero2 = 3.7; numero3 = 0.6; numero4 = 5+7; cadena1 = "Pepe";
String
cadena2 = "Bienvenido a el site Web"; Boolean entrada = true; salida = false; auxentrada = 1; auxsalida = 0
Conversin
Los nmeros pueden incluirse facilmente en strings, pero los strings no se pueden incluir directamente en numeros, para eso existen funciones explicitas de conversin, parseInt() y parseFloat() son las funciones encargadas de hacerlo. parseFloat(cadena) transforma en nmero una cadena de caracteres que se ha de transmitir y la devulve como valor numrico. Si el nmero se puede interpertar como nmero decimal, la funcin lo tiene en cuenta. Como signo decimal se interpreta el punto. La funcin resulta muy til, por ejemplo, para transformar las entradas del usuario en valores numricos que permitan hacer clculos. Devulve NaN cuando la cadena de caracteres empieza con caracteres que no se pueden interpretar como parte de un nmero. Si la cadena contiene caracteres no numricos hacia el final, el nmero se interpreta slo hasta donde empiezan los caracteres no numricos, y se devulve como valor la parte interpretada como nmero. parseInt(cadena) funciona de forma similar a la funcin anterior, pero el valor devuelto siempre es un entero y considera el punto como un carcter. A continuacin veremos unos ejemplos de conversin de variables:
var aPartirde = 1; var hastaAqui = 10,frase; var hacerQue = "Contar desde "; frase=hacerQue + aPartirde + " a " + hastaAqui + ".";
Despues de ejecutar estas sentencias, la variable frase contendr "Contar desde 1 a 10." Los datos numricos han sido obligados a tomar la forma de un string.
var ahoraQue = 0, frase; frase = ahoraQue + 1 + "10"; // En este caso, porque "10" es un string, // el operador "+" concatena los valores.
Despues de su ejecucin, la variable ahoraQue contiene "0110". Para llegar a este resultado se siguen los siguientes pasos:
1. Mira los tipos de 1 y "10" y ahoraQue. El "10" y ahoraQuees un string, el 1 es un nmero, entonces el numero es obligado a convertirse en string. 2. Como en la expersin hay valores strings, se efectua una concatenacion de string. El resultado es "0110" 3. Almacena este resultado en frase. En el ejemplo siguiente se realiza una conversin de la cadena "10" nmero entero, por lo que la operacin se realiza como si todos los operandos fuesen nmeros.
var ahoraPues = 0; ahoraPues = ahoraPues + 1 + parseInt("10"); // En este caso, "+" realiza una suma.
Ejercicios
Ejercicio 3.1: Introducir el siguiente cdigo utilizando por los menos 4 variaciones
en la definicin y declaracin de variables, con la condicin de que el resultado sea el mismo. Explicar los cambios.
<SCRIPT LANGUAGE="JavaScript"> <!-var edad=23, nueva_edad, incremento; var nombre="Rosa Garca"; incremento=4; nueva_edad=edad+incremento; document.write(nombre+ " dentro de "+incremento +" aos tendr "+ nueva_edad+" aos") //--> </SCRIPT>
(hacerlo en papel).
<SCRIPT LANGUAGE="JavaScript"> <!-var texto.inic="Presentamos el producto"; var 3aux=4,numero,aux1="ana"; var emp est=true,var=5; var aux3_1=5;Nom_Primero; var _texto=entrada; aux3_1="Pedro"; Nom_Primero=aux3_1; aux1=aux3_1; //--> </SCRIPT>
[Ejecucin] Caracteres especiales En los mensajes se pueden introducir determinados caracteres que permiten realizar funciones especiales dentro de los valores de tipo string. stos son:
Carcter \n \t \\ \ \"
literal, en una ventana. Adems se produce un salto de lnea pues se utiliza un caracter especial que la provoca.
<SCRIPT LANGUAGE="Javascript"> <!--//Mtodo Alert()
[Ejecucin]
confirm()
A travs del mtodo confirm() se activa un cuadro de dilogo que contiene los botones Aceptar y Cancelar. Cuando el usuario pulsa el botn Aceptar, este mtodo devuelve el valor true; Cancelar devuelve el valor false. Con ayuda de este mtodo el usuario puede decidir sobre preguntas concretas e influir de ese modo directamente en la pgina.
Su sintaxis es:
confirm(mensaje)
[Ejecucin]
prompt()
El mtodo prompt() abre un cuadro de dilogo en pantalla en el que se pide al usuario que introduzca algn dato. Si se pulsa el botn Cancelar, el valor de devolucin es false/null. Pulsanto en Aceptar se obtiene el valor true y la cadena de caracteres introducida se guarda para su posterior procesamiento.
Su sintaxis es:
prompt(pregunta, respuesta)
Siendo pregunta la informacin que se muestra y respuesta la informacin por defecto que la orden tomar de entrada.
Ejemplo 4.4: Solicita la provincia, dando como opcin por defecto "Asturias". Se puede introducir otra provincia a la mostrada. Si se pulsa Aceptar se muestra la provincia introducida y si no se muestra una ventana que indica lo sucedido.
<SCRIPT LANGUAGE="Javascript"> <!--//Mtodo Prompt() var provincia; provincia=prompt("Introduzca la provincia ","Asturias"); document.write("Usted ha introducido la siguiente informacin "+provincia) // --> </SCRIPT>
[Ejecucin]
Ejercicios
Ejercicio 4.1: Haz un programa que pregunte por el nombre de la persona y por
los apellidos y despus los muestre en una ventana. A continuacin debe preguntar si quiere salir, dando opcin, solamente, a una contestacin afirmativa o negativa y la respuesta en el documento. [Ejecucin]
5. LOS OPERADORES
Combinando variables y valores, se pueden formular expresiones ms complejas. Las expresiones son una parte esencial de los programas. Para formular expresiones se utilizan los operadores.
Operadores de asignacin
Los operadores de asignacin se utilizan para asignar valores a las variables. Alguno de ellos tambin incluyen operaciones.
Operador = += -= Descripcin Asigna a la vble de la parte izquierda el valor de la parte derecha. Suma los operandos izquierdo y derecho y asigna el resultado al operando izquierdo. Resta el operando derecho del operando izquierdo y asigna el resultado al
operando izquierdo. *= /= %= Multiplica ambos operandos y asigna el resultado al operando izquierdo. Divide ambos operandos y asigna el resultado al operando izquierdo. Divide ambos operandos y asigna el resto al operando izquierdo.
asignacin.
<SCRIPT LANGUAGE="Javascript"> <!--//Operadores de asingacin var num1=3; var num2=5; num2+=num1; num2-=num1; num2*=num1; num2/=num1; num2%=num1; // --> </SCRIPT>
[Ejecucin]
Operadores aritmticos
Los operadores aritmticos se utilizan para hacer clculos aritmticos.
Operador Descripcin + * / % Suma. Resta. Multiplica. Divide. Calcula el resto de una divisin.
Adems de estos operadores, tambin existen operadores aritmticos unitarios: incremento (++), disminucin (--) y la negacin unitaria (-). Los operadores de incremento y disminucin pueden estar tanto delante como detrs de una variable. Estos operadores aumentan o disminuyen en 1, respectivamente, el valor de una variable. La diferencia entre ambas posiciones reside en el momento en que se ejecuta la operacin.
Operador Descripcin (x=5) y = ++ x y = x++ y = -- x y = x-y =-x Primero el incremento y despus la asingancin. y=6 Primero la asignacin y despus el incremento y=5 Primero el decremento y despus la asingancin. y=4 Primero la asignacin y despus el decremento. y=5 Se asigna a y el valor negativo de x, pero x no vara. y = -5
[Ejecucin]
Operadores de comparacin
Para comparar dos valores entre s, se utiliza el operador de comparacin. Como valor de retorno se obtiene un valor lgico o booleano: true o false.
Operador Descripcin == != > < Devuelve el valor true cuando los dos operandos son iguales. Devuelve el valor true cuando los dos operandos son distintos. Devuelve el valor true cuando el operando de la izquierda es mayor que el de la derecha. Devuelve el valor true cuando el operando de la derecha es menor que el de la
izquierda. >= <= Devuelve el valor true cuando el operando de la izquierda es mayor o igual que el de la derecha. Devuelve el valor true cuando el operando de la derecha es menor o igual que el de la izquierda.
de la expresin 'a==b' es igual a de la expresin 'a!=b' es igual a de la expresin 'a>b' es igual a de la expresin 'a<b' es igual a de la expresin 'a>=b' es igual a de la expresin 'a<=b' es igual a
[Ejecucin]
Operadores lgicos
Los operadores lgicos se utilizan para el procesamiento de los valores booleanos. A su vez el valor que devuelven tambin es booleano: true o false. Suponemos para los ejemplos la siguiente instruccin var a=3;b=4;c=5;
Operador Descripcin && || ! Y lgica. El valor de devolucin es true cuando ambos operandos son verdaderos. O lgica. El valor de devolucin es true cuando alguno de los operandos es verdadero o lo son los dos. No lgica. El valor de devolucin es true cuando el valor es falso.
operadores lgicos.
<SCRIPT LANGUAGE="Javascript"> <!--//Operadores lgicos document.write("<BR>El resultado de la expresin 'false&&false' es igual a "+(false&&false)); document.write("<BR>El resultado de la expresin 'false&&true' es igual a "+(false&&true)); document.write("<BR>El resultado de la expresin 'true&&false' es igual a "+(true&&false)); document.write("<BR>El resultado de la expresin 'true&&true' es igual a "+(true&&true)); document.write("<BR>El resultado de la expresin 'false||false' es igual a "+(false||false)); document.write("<BR>El resultado de la expresin 'false||true' es igual a "+(false||true)); document.write("<BR>El resultado de la expresin 'true||false' es igual a "+(true||false)); document.write("<BR>El resultado de la expresin 'true||true' es igual a "+(true||true)); document.write("<BR>El resultado de la expresin '!false' es igual a "+(!false)); // --> </SCRIPT>
[Ejecucin]
Operador typeof
El operador typeof variable devuelve una cadena de texto que describe el tipo de datos al que pertenece la variable. Ejemplo 5.5. Describe el tipo de datos de distinas variables.
<HTML> <HEAD> <SCRIPT LANGUAGE="Javascript"> var ciudad="Oviedo"; var edad=6; var carnet=true; document.write("<BR>La variable ciudad es de tipo: "+typeof ciudad+ "<BR>"); document.write("La variable edad es de tipo: "+typeof edad + "<BR>"); document.write("La variable carnet es de tipo: "+typeof carnet + "<BR>"); </SCRIPT> </HEAD> <BODY> </BODY> </HTML>
[Ejecucin]
eval()
La funcin eval() calcula la cadena de caracteres que se ha de transmitir y devuelve el resultado como valor. si la cadena contiene caracteres que no se pueden interpretar como parte de la operacin de clculo, emite un mensaje de error. Ejemplo 5.6. Se pide una expresin numrica y se averiguar el resultado utilizando la funcin eval().
var expresion,resultado; expresion=prompt("Introduce la operacin a realizar",""); resultado=eval(expresion); alert ("El resultado de la operacion es "+resultado);
[Ejecucin]
Ejercicios
Ejercicio 5.1: Completar el siguiente cdigo con las sentencias indicadas en los
comentarios.
<HTML> <HEAD> <SCRIPT LANGUAGE="Javascript"> var precioOrdenador,nombre; precioOrdenador=150000; //Calcular el 16% del precio del ordenador y mostar por pantalla //Mostrar una expresin lgica con operadores de comparacin cuyo resultado sea True //Mostrar una expresin lgica con operadores de comparacin cuyo resultado sea False //Mostrar una expresin lgica con operadores lgicos cuyo resultado sea True //Mostrar una expresin lgica con operadores lgicos cuyo resultado sea False /*Pedir el nombre de un animal por pantalla y despus mostrar el tipo de la variable en la que se almacen el dato y el de "precioOrdenador*/ </SCRIPT> </HEAD> <BODY> </BODY> </HTML>
Ejercicio 5.2: Escribir las instrucciones necesarias para realizar las siguientes
operaciones: 1. Incrementar en 1 el contenido de una variable llamada precio 2. Decrementar en 1 el contenido de una variable llamada precio
3. Tenemos una variable llamada total y otra precio1, conseguir acumular en la variable total el contenido de precio1. 4. Tenemos una variable llamada aux1 y otra llamada aux2, conseguir asignar el valor de aux2 a aux1 e incrementar, posteriormente, el valor de aux2 en 1. 5. Tenemos una variable llamada aux1 y otra llamada aux2, conseguir incrementarel valor de aux2 en 1 y, posteriormente, asignar el valor de aux2 a aux1.
Ejercicio 5.3: Supongamos el siguinte fragmento de cdigo
var var var var aux1=7; aux2=10; aux3=17; aux4=20;
Qu devolvera el siguiente cdigo?: alert((aux1<aux3)&&(aux2<aux4)); Qu devolvera el siguiente cdigo?: alert((aux1>aux3)||(aux2<aux4)); Qu devolvera el siguiente cdigo?: alert((aux1<aux3)||(aux2!=aux4));
Ejercicio 5.4. Dada la declaracin inicial de variables siguiente:
var var var var var aux1=7; aux2="perro"; aux3=17; aux4="20"; total1,total2,total3,total4,total5,total6;
Hacer un programa donde se muestre el resultado de las siguentes operaciones, mostrar tambin el tipo de datos resultante de cada operacin (typeof). Fijarse en los resultados: datos y tipo de dato.
total1=aux1+aux2 total2=aux1+aux3 total3=aux1+aux4 total4=aux2+aux3 total5=aux2+aux4 total6=aux3+aux4
Ejercicio 5.5. Hacer la traza del siguiente cdigo e indicar que valores se muestran
por pantalla.
var porcentaje=12; var apuesta; apuesta=prompt("Introduce la apuesta ",""); apuesta=parseInt(apuesta); porcentaje=(apuesta*12)/100; porcentaje+=1;
apuesta-=porcentaje; document.write("La casa se queda con el 12%+1 que se corresponde con "+porcentaje+" euros"); document.write("<BR>Tu apuestas "+apuesta+" euros");
Ejercicio 5.6. Hacer la traza del siguiente cdigo e indicar que valores se muestran
por pantalla. Hacer una traza suponiendo que se introduce el nombre de Ana y otra introduciendo el nombre de Pedro.
var veces,puntos=3,total=100; var nombre,auxLog; nombre=prompt("Introduce tu nombre",""); veces=prompt("Cuantas veces has entrado aqu",""); auxLog=(nombre=="Ana"); alert("Eres Ana?="+auxLog); veces=parseInt(veces); veces+=1; puntos=++veces; total=total+puntos+veces; auxLog=(nombre=="Pedro")&&(veces==3); alert ("El valor total es "+total+"\nEres Pedro y has entrado 3 veces?:"+auxLog);
6. BUCLES/ESTRUCTURAS
Para controlar el flujo de informacin en los programas JavaScript existen una serie de estructuras condicionales y bucles que permiten alterar el orden secuencial de ejecucin.
if-else
La instruccin if es permite la ejecucin de un bloque u otro de instrucciones en funcin de una condicin. Sintaxis:
If (condicin) { bloque de instrucciones que se ejecutan si la condicin se cumple } else{ bloque de instrucciones que se ejecutan si la condicin no se cumple }
Las llaves slo se han de utilizar cuando haya varias instrucciones seguidas pertenecientes a la ramificacin.
Puede existir una instruccin if que no contenga la parte else. En este caso, se ejecutaran una serie de rdenes si se cumple la condicin y si esto no es as, se continuara con la rdenes que estn a continuacin del bloque if.
Ejemplo 6.1. Pide un da de la semana y emite un mensaje en el caso de que la
[Ejecucin]
Ejemplo 6.2: Analiza la edad de Luis y Ana, las cuales se piden por pantalla.
<SCRIPT LANGUAGE="Javascript"> <!--//Instruccin if-else var edadAna,edadLuis; edadAna=parseInt(prompt("Introduce la edad de Ana","")); edadLuis=parseInt(prompt("Introduce la edad de Luis","")); if (edadAna > edadLuis){ document.write("Ana es mayor que Luis."); document.write(" Ana tiene ",edadAna," aos y Luis ", edadLuis); } else{ document.write("Ana es menor o de igual edad que Luis."); document.write(" Ana tiene ",edadAna," aos y Luis ", edadLuis); } </SCRIPT>
[Ejecucin] Ramificaciones anidadas Para las condiciones ramificadas ms complicadas, a menudo se utilizan las ramificaciones anidadas. En ellas se definen consultas if dentro de otras consultas if. Ejemplo 6.3: Analiza, de una forma precisa, la edad de Luis y Ana, las cuales se piden por pantalla.
<SCRIPT LANGUAGE="Javascript"> <!--//Instruccin if-else anidadas var edadAna,edadLuis;
edadAna=parseInt(prompt("Introduce la edad de Ana","")); edadLuis=parseInt(prompt("Introduce la edad de Luis","")); if (edadAna > edadLuis){ document.write("Ana es mayor que Luis."); } else{ if (edadAna<edadLuis){ document.write("Ana es menor que Luis."); }else{ document.write("Ana tiene la misma edad que Luis."); } } document.write(" Ana tiene ",edadAna," aos y Luis ", edadLuis); </SCRIPT>
[Ejecucin]
El operador ?
La construccin ? se conoce tambin como operador condicional. La ventaja de este operador es que permite comprobar dos valores distintos tomando como base una condicin. Sintaxis: (condicin) ? verdadero:falso; La condicin puede ser una expresin o cualquier valor booleano. En base al resultado se ejecutar a continuacin o bien la instruccin contenida enverdadero(true) o la contenida en falso (false). Ejemplo 6.4: Averigua el navegador utilizado y muestra el nombre en pantalla.
<SCRIPT LANGUAGE="Javascript"> <!--//Instruccin condicional ? var navegador, aviso; navegador=navigator.appName; aviso=(navegador=="Microsoft Internet Explorer")? "Est utilizando el navegador IE":"Est utilizando un navegador distinto a IE"; document.write(aviso); </SCRIPT>
[Ejecucin]
La instruccin switch
En la instruccin switch se calcula la expresin indicada en ella y, segn el resultado, se ejecuta una instruccin determinada dentro del grupo de comandos.
Sintaxis:
switch (variable){ case valor1: instruccin1; break case valor2: instruccin2; break etc default: instruccinI }
Con esta estructura se puede evitar el uso de intrucciones if anidadas. Primero se comprueba un valor para ver si concuerda con los bloques case, y si la equivalencia es positiva se ejecuta la instruccin correspondiente. Si el valor no concuerda, la instruccin se ejecuta en la parte default, lo que corresponde a la ramaelse de una consulta if-else. Este ltimo bloque es opcional. Ejemplo 6.5: Pide un nombre por pantalla y muestra un mensaje personalizado.
<SCRIPT LANGUAGE="Javascript"> <!--//Instruccin condicional swith var nombre; nombre=prompt("Introduce tu nombre",""); switch (nombre){ case "Alberto": alert ("Hola "+nombre+" te esperaba"); break case "Gonzalo": alert ("Hola "+nombre+" ya te envi lo que me pediste"); break default: { alert ("Hola "+nombre+" bienvenid@"); } } </SCRIPT>
[Ejecucin]
Bucle for
Cuando la ejecucin de un programa llega a un bucle for, lo primero que hace es ejecutar la Inicializacin del ndice, a continuacin analiza la Condicin de prueba y si esta se cumple ejecuta las instrucciones del bucle. Cuando finaliza las ejecucin de las instrucciones del bucle se realiza la Modificacin del ndice y las lneas de cgigo que contiene el bucle y cuando stas finalizan, se retorna a la cabecera del bucle for y se realiza la despus la Condicin de prueba, si la
condicin se cumple se ejecutan las instrucciones y si no se cumple la ejecucin contina en las lneas de cdigo que siguen al bucle. Sintaxis:
for (Inicializacin del ndice; Condicin de prueba; Modificacin en el ndice){ instrucciones }
[Ejecucin]
El bucle while
Con el bucle while se pueden ejecutar un grupo de instrucciones mientras se cumpla una condicin. Si la condicin nunca se cumple, entonces tampoco se ejecuta ningna instruccin. Si la condicin se cumple siempre, nos veremos inmersos en el problema de los bucles infinitos, que pueden llegar a colapsar el navegador, o incluso el ordenador. Por esa razn es muy importante que la condicin deje de cumplirse en algn momento. Sintaxis:
while (condicin){ instrucciones }
[Ejecucin] Ejemplo 6.10: Pregunta una clave hasta que se corresponda con una dada.
<SCRIPT LANGUAGE="Javascript"> <!--//Bucle while auxclave=""; while (auxclave!="anonimo"){ auxclave=prompt("introduce la clave ","anonimo") } document.write ("Has acertado la clave"); </SCRIPT>
[Ejecucin]
El bucle do-while
La diferencia del bucle do-while frente al bucle while reside en el momento en que se comprueba la condicin: el bucle do-while no la comprueba hasta el final, es decir, despus del cuerpo del bucle, lo que significa que el bucle do-while se recorrer, una vez, como mnimo, aunque no se cumpla la condicin. Sintaxis:
do { instrucciones } while(condicin)
Esta orden fue introducida en las versiones JavaScript 1.2. Esto significa que los programas que contienen este bucle slo funcionan con los navegadores de cuarta generacin o superiores de Netscape y Microsoft. Ejemplo 6.11: Preguntar por una clave hasta que se introduzca la correcta
<SCRIPT LANGUAGE="Javascript"> <!--//Bucle do-while do { auxclave=prompt("introduce la clave ","anonimo") } while (auxclave!="anonimo") document.write ("Has acertado la clave"); </SCRIPT>
[Ejecucin]
[Ejecucin]
El efecto que tiene la instruccin continue en un bucle es el de hacer retornar a la secuencia de ejecucin a la cabecera del bucle, volviendo a ejecutar la condicin o a incrementar los ndices cuando sea un bucle for. Esto permite saltarse recorridos del bucle. Ejemplo 6.13: Presenta todos los nmeros pares del 0 al 50 excepto los que sean mltiplos de 3
<SCRIPT LANGUAGE="Javascript"> <!--//instrucciones continue var i; for (i=2;i<=50;i+=2){ if ((i%3)==0) continue; document.write("<br>"+i); } </SCRIPT>
[Ejecucin]
Ejercicios
Ejercicio 6.1: Hacer la traza del siguente script, para los siguientes casos:
1. Que el usuario quiera ejecutar el programa e introduzca un nmero par. 2. Que el usuario quiera ejecutar el programa e introduzca un nmero impar. 3. Que el usuario no quiera ejecutar el programa.
var x,y,ejecutar; ejecutar=confirm("Desea ejecutar el programa?"); if (ejecutar){ alert("Practica de la estructura if"); x=prompt("Introduce un nmero ",""); x=parseInt(x); y=x%2; if (y==0){ alert("El nmero "+x+" es par "); } else{ alert("El nmero "+x+" es impar"); } } else{ alert("Perdiste una oportunidad"); }
Ejercicio 6.2: Escribir un script que permita introducir un nombre por pantalla y
que en el caso de que sea "Ramn" muestre un mensaje felicitndolo por su regreso. En todos los casos se muestra un mensaje informando de que la pgina Web hoy no est disponible.
muestre el siguiente mensaje: "Bienvenido a nuestro pas". En cualquier otro caso no debe hacer nada.
Ejercicio 6.4: Escribir un script que permita introducir un nmero de ao y que
utilizando la ventana confirm(), en caso de que acepte se deben ejecutar las siguientes intrucciones: 1. Preguntar su nombre. 2. Preguntar la edad que tendr al final del ao actual. 3. Calcular el ao de nacimiento. 3. Mostar una ventana dando las gracias y el ao en el que naci. En el caso de que no acepte se deben ejecutar las siguientes instrucciones: 1. Mostar en una ventana el navegador que utiliza.
Ejercicio 6.8: Escribir un script que permita introducir dos nmeros y que muestre
un mensaje indicando cual es el mayor. En el caso de que sean iguales mostrar un mensaje indicndolo.
Ejercicio 6.9: Escribir un script que permita introducir tres nmeros y que muestre
orden para cada caso) y por la edad de cada uno (una orden para cada caso). A continuacin se debe mostrar por pantalla el nombre de la persona mayor y en el caso de que tengan la misma edad se debe indicar en pantalla.
Ejercicio 6.11: Escribir un script que pregunte si quiere ver la frase del d
utilizando la orden confirm(). En el caso de que pulse Aceptar se debe mostrar por pantalla la frase: "No por mucho madrugar amanece ms temprano" y en el
caso de pulsar Cancelar se debe mostrar por pantalla el siguiente mensaje: "Vaya falta de curiosidad!"
Ejercicio 6.12: Escribir un script que pregunte por la ciudad de nacimiento del
usuario utilizando la orden prompt(). Si el usuario pulsa Cancelar mostar el siguiente mensaje:"Pues me quedo sin saber donde naciste", si el usuario pulsa Aceptar se debe comprobar si la ciudad es Oviedo y en caso afirmativo mostar el mensaje:"Naciste en Oviedo, como yo" y si no mostar un mensaje indicando la ciudad de nacimiento.
Ejercicio 6.13: Hacer los ejercicios 4 y 6 utilizando el operador ? Ejercicio 6.14: Hacer un script que al introducir el nombre de uno de los
trabajadores de la oficina (Pedro, Dcil, Rosa o Carmen) muestre un recado distinto para cada uno de ellos. En el caso de que el nombre introducido no sea de ningn trabajador entonces debe mostrar una pantalla con un mensaje de bienvenida. Utiliza la instruccin switch.
Ejercicio 6.15: Analizar el cdigo del script siguiente utilizando una traza para
en funcin de ello debe pedir al usuario la cantidad que ha ingresado cada uno de los meses. Al final debe mostrar la suma total de los ingresos en lo que va de ao y el iva de esa cantidad.Utilizar el bucle for.
Ejercicio 6.18: Hacer un script que muestre en pantalla los nmeros pares de 0 a
factorial. El factorial de un nmero se calcula multiplicando el nmero por todos sus antecesores hasta el 1. Por ejemplo: el factorial de 5 es 5*4*3*2*1.Utilizar el bucle for.
Ejercicio 6.21: Hacer un script pida los ingresos y los gastos de los meses del
primer trimestre. Al final debe mostrar un mensaje indicando si se ha ganado dinero o se est en nmeros rojos. Utilizar el bucle for.
Ejercicio 6.22: Hacer el mismo script que el ejercicio anterior pero utilizando el
Ejercicio 6.24: Analizar el cdigo del script siguiente utilizando una traza para
Ejercicio 6.25: Hacer un script que muestre en pantalla los nmeros pares de 0 a
Ejercicio 6.28: Hacer un script que pregunte por la clave de entrada. El programa
slo finalizar cuando se introduzca la clave correcta, entonces se mostrar por pantalla el siguiente mensaje:"Clave correcta". Utiliza el bucle while.
Ejercicio 6.29: Aadir al siguiente script las rdenes necesarias para que slo
7. FUNCIONES
Una funcin es un conjunto de instrucciones que se agrupan bajo un nombre de funcin, slo cuando es llamada por su nombre en el cdigo del programa se provoca la ejecucin de las rdenes que contiene. Las funciones son muy importantes por diversos motivos:
Ayudan a estructurar los programas para hacerlos su cdigo ms comprensible y ms fcil de modificar. Permiten repetir la ejecucin de un conjunto de rdenes todas las veces que sea necesario sin necesidad de escribir de nuevo las instrucciones.
Un nombre de funcin Los parmetros pasados a la funcin separados por comas y entre parntesis Las llaves de inicio y final de la funcin
Sintasix de la llamada a una funcin 1. La funcin se ejecuta siempre que se ejecute la sentencia.
nombrefuncion (parm1, parm2);
Es importante entender la diferencia entre definir una funcin y llamarla. Definir una funcin es simplemente especificar su nombre y definir qu acciones realizar en el momento en que sea invocada, para ello se emplea la palabra reservada function. Para llamar a una funcin es necesario especificar su nombre e introducir los parmetros que queremos que utilice. sta llamada se puede efectuar en una lnea de rdenes o bien a la derecha de una sentencia de asignacin en el caso de que la funcin devuelva algn valor debido al uso de la instruccin return. La definicin de una funcin se puede realizar en cualquier lugar del programa, pero se recomienda hacerlo en la cabecera del cdigo HTML. La llamada a una funcin se realizar cuando sea necesario, es decir, cuando se demande la ejecucin de las instrucciones que hay dentro de ella.
Ejemplo 7.1: Funcin que devuelve la suma de dos valores que se pasan por parmetros.
<HTML> <HEAD> <SCRIPT> <! function suma (a,b){ //definicin de la funcin return a+b; } function autora (){ document.write ("La autora es: Rosa Rodrguez"); } // --> </SCRIPT> </HEAD> <BODY> <SCRIPT> <! var op1=5;op2=25; var resultado; resultado=suma(op1,op2); //llamada a la funcin document.write (op1+"+"+"op2"+"="+resultado); // --> </SCRIPT> <A HREF="javascript:autora()">Ver autora</A> </BODY> </HTML>
[Ejecucin]
Variables globales: pueden utilizarse en cualquier parte del cdigo y son declaradas fuera de toda funcin la instruccin var. Variables locales: se definen con la instruccin var dentro de una funcin y slo pueden ser utilizadas dentro de sta.
Ejemplo 7.2:
<SCRIPT LANGUAGE="JavaScript"> <!-<!--//Definicin de una vble global var vbleglobal1=20; function prueba(){ var vblelocal1=10; //Definicin de vble local var vblelocal2=vbleglobal1+vblelocal1; //En la funcn se puede acceder a las vble globales y locales
//definidas dentro de ella alert ("La suma de la vble local (10) y la global (20) es "+ vblelocal2); } prueba(); alert ("La variable global es "+vbleglobal1); //Desde fuera de la funcin las vbles locales definidas en ella no son accesibles //--> </SCRIPT>
[Ejecucin]
Ejercicios
Ejercicio 7.1: Crear una pgina web con enlace que active una ventana que
direccin, despus muestre un ttulo y una imagen. Debajo de la imagen debe aparecer un enlace que al activarlo muestre en una ventana el nombre y la direccin introducida al cargarse la pgina.
Ejercicio 7.3: Crear una pgina web que al entrar pregunte por la edad y el nombre
de tres personas, despus muestre un ttulo y una imagen. Debajo de la imagen debe existir los siguientes enlaces:
que muestre el nombre y la edad de la persona mayor que muestre el nombre y la edad de la persona menor que muestre la media de las edades introducidas que muestre el ao de nacimiento y el nombre de la persona mayor que muestre el ao de nacimiento y el nombre de la persona menor
document.write:
El programa debe permitir introducir una opcin. Al elegir una de las opciones nos debe pedir los nmeros con los que realizar la operacin, ejecutarla y mostrar el resultado. Hacer la estructura de funciones de tal manera que los nmeros se
soliciten y se muestren en el programa principal, en las respectivas funciones slamente se deben realizar las operaciones.
Ejercicio 7.5: Modificar el programa anterior para que el men se componga de