Javascript
Javascript
[email protected]
BIOS - Escuela de Sistemas
18 de Julio 1253, esq. Yí • Montevideo
Teléfono 902 92 84 / 9019186
[email protected]
http://www.bios.edu.uy
Indice
1- Que es Javascript?
2- Historia
3- Diferencias entre Java y Javascript
4- El lenguaje Javascript
5- Formas de ejecutar scripts
6- Ocultar Scripts en navegadores antiguos
7- Usar ficheros externos para la colocación de scripts
8- Sintaxis javascript
9- Variables
10- Ámbito de las variables
11- Que podemos guardar en variables
12- Tipos de Datos
13- Operadores I
14- Operadores II
15- Operadores III
16- Estructuras de Control
17- Estructura IF
18- Estructura IF – parte 2
19- Estructura Switch
20- Bucles For
21- Bucles While y Do While
22- Break & Continue
23- Bucles Anidados
24- Funciones en Javascript
25- Donde insertar las funciones
26- Parámetros de la funciones
27- Valores de retorno
28- Arrays en javascript
29- Arrays multidimensionales
1- Que es Javascript:
En el mundo de los lenguajes de programación hay dos grandes ramas, los lenguajes
compilados y los interpretados.
Los lenguajes compilado son aquellos que a partir de un “código fuente”, se genera un
archivo o conjunto de archivos que son transformados (compilados) a un lenguaje que el
computador comprende (código nativo), y este archivo es posible ejecutarlo tantas veces
como sea necesario sin necesidad de re-compilarlo, es decir es leído una sola vez y
compilado, para luego ser ejecutado cuantas veces sea necesario.
En cambio en los lenguajes “interpretados” el “programa” o instrucciones son escritas
en un archivo de “código fuente” y este es interpretado de alguna forma por la
computadora cada vez que sea necesario ejecutarlo, es decir que es necesario “traducir”
ese programa o grupo de instrucciones cada vez que sea necesario ejecutarlo.
JAVASCRIPT es un lenguaje interpretado, y el encargado de interpretar este lenguaje
es el navegador (Internet Explorer, Mozila, Netscape Navigator, etc).
2- Historia :
A medida que la web fue creciendo, se necesitaban interacciones mayores y mejores, y
el HTML se fue quedando “corto” para definir e implementar estas nuevas
funcionalidades, ya que solo sirve para presentar texto, definir su estilo, y poco mas.
El primer agregado realizado fue a través de JAVA, que a través de la tecnología de
Applets (pequeños programas incrustados en el HTML) mejoro las posibilidades de la
web.
Netscape, el primero en implementar JAVA en su explorador, comenzó a desarrollar un
lenguaje de programación que llamo “LiveScript” que permitía crear pequeñas
animaciones en las páginas, y que era mas fácil de utilizar que JAVA. El lenguaje
“LiveScript” no duró mucho, pues Netscape hizo un acuerdo con Sun Microsystems
(creador de Java) para desarrollar en conjunto este nuevo lenguaje.
Esta alianza hizo que javascript se convirtiera en el hermano menor de Java, solamente
útil dentro de las páginas webs.
El primer navegador compatible con “Javascript” fue el Netscape Navigator 2.0, y luego
lo siguió Microsoft con la versión 3.0 de Internet Explorer.
En realidad Java y Javascript solo guardan en común la sintaxis básica, y algunos otros
elementos, pero básicamente no tienen nada que ver.
Diferencias :
• Compilador : para programar en java necesitamos un kit de desarrollo y un
compilador, sin embargo javascript es interpretado por el navegador cuando
se lee la página.
• Orientado a Objetos : Java es un lenguaje de programación orientado a
objetos, en cambio javascript no lo es, esto quiere decir que podemos
programar en javascript sin la necesidad de crear clases.
• Propósito : Java es un lenguaje mucho mas potente que javascript, esto es
debido a que java es un lenguaje de propósito general con el que se pueden
hacer aplicaciones de variados tipos, en cambio con javascript solo podemos
hacer programas que se ejecuten en páginas web.
• Estructuras Fuertes : Java es un lenguaje de programación fuertemente
“tipado” esto quiere decir que al declarar una variable, tendremos que indicar
su tipo, y no podrá cambiar de un tipo a otro automáticamente, en cambio
Javascript no tiene esa característica, se puede almacenar información en una
variable sin definir el tipo, y luego cambiarla por información de otro tipo
cuando así lo queramos.
4- El lenguaje Javascript :
Existen dos formas básicas de ejecución de scripts, por ejecución directa ó en respuesta
a una acción del usuario.
La ejecución directa :
El código javascript se escribe en la página dentro de las etiquetas
<script></script> y el navegador las lee línea por línea y las
interpreta y ejecuta una tras otra. La ejecución se da al leer de la
página, cuando se está cargando.
Respuesta a un evento :
Los eventos son acciones que realiza el usuario, los programas
javascript están preparados para atrapar estas acciones realizadas
por el usuario, y realizar acciones como respuesta. De esta forma
se pueden realizar programas Interactivos.
Entre los eventos posibles, los mas comunes son, el clic de un
botón, movimiento del mouse, etc.
Las acciones que queremos realizar en repuesta a las acciones del
usuario se escriben dentro de los atributos de las etiquetas
HTML correspondientes.
6- Ocultar scripts en navegadores antiguos :
Otra manera de incluir scripts dentro de una página web es a través de ficheros
externos, esta funcionalidad esta incluida en javascript a partir de la versión 1.1
del lenguaje.
Los ficheros de script suelen tener extensión .js y se incluyen a través del
atributo src de la etiqueta Script.
<SCRIPT languege=”javascript” src=”funciones.js”>
Dentro de las etiquetas <SCRIPT> </SCRIPT> se puede escribir cualquier cosa,
pues será ignorada por el navegador, pues el código lo buscara en el archivo
indicado.
Un archivo .js es un archivo de texto que solo contiene instrucciones javascript,
no contiene HTML.
8- Sintaxis Javascript :
9- Variables :
var nombre;
var edad;
También es posible asignarle un valor a la variable al mismo tiempo que
la estamos declarando.
Variables globales :
Las variables globales son aquellas que fueron declaradas en el ámbito
mas amplio posible, la página web.
Cualquier variable declarada fuera de todo ámbito, sean funciones o
eventos, será global, pues es posible accederla desde cualquier punto de
la página.
Variables Locales :
function funcionDePrueba( ){
var variableLocal;
}
En este ejemplo la variable “variableLocal” solo tendrá valides dentro de
los limites de la función (lo encerrado entre las llaves “{“ y “}”).
No existe problema en definir una variable local con el mismo nombre
que una variable global, el único tema a tener en cuenta es que dentro del
ámbito donde existe la variable local, esta será la única válida, y la
variable global valdrá en toda la página, menos donde esta la variable
local con el mismo nombre.
var numero=10;
function miFuncion( ){
var numero=20;
alert(numero); // aparece 20
}
alert(numero); // aparece 10
var numero=2;
function miFuncion( ) {
numero=19;
alert(numero); //despliega 19
}
alert(numero); //despliega 2 (la función no se
ejecuto todavía)
Las variables también pueden contener cosas un poco más complicadas, como
objetos, el valor “null” o funciones.
Aunque en realidad nuestras variables en javascript no están forzadas a guardar
ningún tipo en concreto, por lo que no se especifica ningún tipo de dato
especifico al declarar la variable, la información que se puede introducir en una
variable en cualquier momento es cualquiera, y podemos cambiar el contenido
sin tener en cuenta el tipo de información que contenía anteriormente.
Numérico :
En javascript, a diferencia de otros lenguajes todos los números
pertenecen al tipo de datos “numerico”. En otros lenguajes de
programación existen dentro del tipo numérico otros tipos de datos, como
los números enteros, números reales, números decimales, etc.
En javascript todo lo que sea número es un tipo de datos numérico.
El dato numérico puede ser expresado en 3 formas distintas, la normal es
la que se llama “base 10” o sea esta basada en la numeración decimal, del
0 al 9.
También existe la base octal o “base 8”, con números del 0 al 7, para
escribir un número octal basta con escribir un número que comience con
0, por ejemplo 045.
Y por último también puedo escribir números en el sistema hexadecimal
o “base 16”, o sea utilizando números y letras para la representación del
valor. Para representar un número hexadecimal lo hago con una sintaxis
como esta 0x3EF.
Booleano :
El tipo booleano solo acepta dos valores, true ó false, pues es un tipo
“lógico” el cual solo sirve para evaluar lógicamente alguna condición.
El valor true equivale a verdadero, es decir cuando la condición se
cumple, mientras que el valor false equivale a falso, es decir que la
condición no se cumple.
Cadenas de Caracteres :
Este tipo de dato sirve para guardar texto en javascript. Javascript solo
tiene este tipo de datos para guardar texto, y en este se pueden introducir
cualquier número de caracteres.
Un texto válido puede estar compuesto por números, letras, símbolos, ó
cualquier carácter válido.
Los valores de texto se escriben entre comillas para saber donde
comienzan y donde terminan.
Caracteres de escape :
Dentro del tipo de datos de texto, hay una serie de caracteres
especiales que sirven para expresar en una cadena de texto un
cierto comportamiento o control, como pueden ser un salto de
línea ó una tabulación.
Estos caracteres especiales se llaman “caracteres de escape” y se
escriben con una “contrabarra” \ y luego se coloca el código del
carácter a mostrar.
Un carácter muy común es el salto de línea que se consigue
escribiendo \n.
Otra función que nos brindan los caracteres de escape es la
posibilidad de escribir ciertos caracteres que javascript se podría
confundir al interpretarlos, pues para el tienen un significado
especial, como por ejemplo las comillas “. Como javascript utiliza
las comillas para separar el comienzo y fin de una cadena de
caracteres, si no especificamos que queremos escribir una
comilla, javascript la va a interpretar como un final o principio de
cadena.
Para evitar esto se utiliza el carácter de escape \” ó \’ para la
comilla simple.
Y para escribir una “contrabarra” se utiliza el carácter \\.
El tabulador es \t.
3+5
Esta operación no tiene mucho sentido por si sola, pues no hace nada con el
resultado, solo se genera la suma. Normalmente se combina más de un operador
para crear expresiones útiles, por ej.:
miVariable = 3 + 5
Lo que hicimos fue combinar dos tipos de operadores, uno sirve para realizar
una operación matemática “ + ”, y el otro para guardar el resultado “ = ”.
Los operadores se clasifican por el tipo de acción que realizan.
Operadores Aritméticos :
Operadores de Asignación :
Operadores de cadena :
Ej. :
cadena1 = “hola ”;
cadena2 = “ mundo”;
cadenaConcatenada = cadena1 + cadena2;
alert(cadenaConcatenada); //muestra “hola mundo”
El operador + sirve para objetivos distintos dependiendo del tipo de datos en los
que opere, si son números los suma, si son caracteres los concatena.
El operador += también funciona, lo que hace es poner la cadena de la derecha al
final de la cadena de la izquierda.
Operadores Lógicos :
! operador NO o negación
&& operador Y, si son los dos miembros de la
expresión verdaderos el resultado de la expresión
es verdadero
|| operador O, si por lo menos uno de los miembros
de la expresión es verdadero, la expresión es
verdadera.
Ejemplo:
miBooleano = true;
miBooleano = !miBooleano; //ahora miBooleano vale “false”
pues “negué” la expresión, y si niego un true, tengo
false.
tengoHambre = true;
tengoComida = true;
comoComida = tengoHambre && tengoComida;
Operadores Condicionales :
Ejemplo :
12 * 3 + 4 - 8 / 2 % 3
En este caso primero se ejecutan los operadores * y / de izquierda a derecha.
36 + 4 – 4 % 3
Luego el módulo.
36 + 4 – 1
40 – 1
resultado 39
Para forzar a que se ejecute antes una parte de la operación que otra, la podemos
encerrar entre paréntesis.
Para poder conseguir cosas más complejas con javascript debemos tener un
cierto control sobre el flujo de nuestro programa, es decir evitar que nuestro
programa sea un conjunto de líneas de código que siempre se ejecuta de
comienzo a fin “línea a línea”.
O podemos querer que algo se ejecute varias veces sin tener que escribir las
mismas líneas todas esas veces que se debe ejecutar.
Para realizar este tipo de cosas más complejas, en javascript tenemos las
estructuras de control, que nos ayudan a tomar decisiones en el flujo de nuestro
programa, y hacer bucles para tareas repetitivas.
Tomas de decisiones :
Nos sirven para realizar una acción u otra en función del estado de las
variables, es decir poder decidir si ejecutar unas instrucciones y no otras,
dependiendo de que está ocurriendo en nuestro programa en un momento
dado.
Ej.: Si en mi página deseo restringir un contenido dependiendo de si el
usuario es mayor de edad o no, tengo que decidir en función de su edad.
Si edad es mayor que 18 entonces
Muestro el contenido
Sino
No te muestro el contenido
Bucles :
FOR
WHILE
DO WHILE
17- La estructura IF :
Sintaxis :
if( expresión ) {
acciones a realizar en caso positivo
.........
}
También se puede indicar que acciones se deben realizar en caso de que el
resultado de la evaluación sea negativo, la sintaxis en este caso sería :
if ( expresión ) {
acciones a realizar en caso positivo
......
} else {
acciones a realizar en caso negativo
......
}
Las llaves que se ven en los casos, que encierran a las instrucciones que se deben
de realizar en caso positivo, o en caso negativo, se deben colocar siempre, salvo
que la cantidad de instrucciones sea solo de una, en ese caso son opcionales.
Ej. :
if (dia = = “viernes”)
document.write(“feliz fin de semana”);
Expresiones condicionales :
Sentencias IF anidadas:
Una de las formas de realizar sentencias condicionales más complejas es
colocar estructuras IF dentro de otras estructuras del mismo tipo.
Con un solo IF podemos evaluar una condición y separar el flujo de
nuestro programa en dos posibles caminos, pero si queremos tener más
posibilidades de evaluación, debemos hacer anidación de IF.
Ej.:
Quiero evaluar si 2 números son mayores menores ó iguales, para
lo cual tengo que compararlos.
Primero comparo si son iguales, si lo son ya resolví el problema,
pero si no lo son, tendré que resolver cual de los dos es el mayor.
Operador IF sencillo :
Este operador cumple la misma función que el IF normal, pero es mas
sencillo de escribir, proviene de el lenguaje C.
Ejemplo :
<SCRIPT LANGUAGE=javascript>
<!--
var edad;
edad=parseInt(prompt("su edad",""));
if (edad>18){
alert("mayor de edad");
alert("su edad es " + edad);
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE=javascript>
<!--
var edad;
edad=parseInt(prompt("su edad",""));
if (edad>18)
{
alert("mayor de edad");
alert("ya tenes " + edad + " años");
}else{
alert("menor de edad");
alert("apenas tenes " + edad +" años de vida");
}
//-->
</SCRIPT>
Función isNaN – la función devuelve “true” en caso de que el valor evaluado sea un
número, y devuelve “false” en caso contrario.
Ej.:
var numero = prompt(“ingrese un número”,””);
if(isNaN(numero))
alert(“el válor ingresado no es un valor numérico válido”);
else
alert(“el número ingresado es : “ + numero);
Función eval – la función “eval” evalúa una expresión pasada como parámetro, y
devuelve el resultado de esa evaluación.
Ej.:
var expresion=prompt("ingrese una expresion numerica","")
alert(eval(expresion));
Si por ejemplo hubiésemos escrito “15 + 7” el alert mostraría 22, pues el eval toma la
expresión y la transforma en algo que puede evaluar lógicamente el mismo javascript.
Ejercicio:
Dados 3 números ingresados por el usuario, mostrar un alert con el mayor de
los 3.
Para simplificar, los números no deben ser iguales.
Solución :
numero1=parseInt(prompt(“ingrese el primer número”,””));
numero2=parseInt(prompt(“ingrese el segundo número”,””));
numero3=parseInt(prompt(“ingrese el tercer número”,””));
Sintaxis :
switch(expresión){
case valor1:
sentencias a ejecutar para cuando la expresión da “valor1”
break;
case valor2:
sentencias a ejecutar para cuando la expresión da “valor2”
break;
case valor3:
sentencias a ejecutar para cuando la expresión da “valor3
break;
.
.
.
default:
sentencias a ejecutar para cuando no dio ninguna de las
otras.
}
El bucle for se utiliza cuando queremos repetir una instrucción varias veces.
Normalmente se elige el bucle “for” cuando sabemos exactamente cuantas veces
vamos a ejecutar el bucle.
Sintaxis:
For(inicio ; condicion; actualización){
Secuencias a ejecutar con cada iteración.
}
En este ejemplo se escriben en la página todos los números del 0 al 100, pero de
2 en 2, o sea que en el documento se vería :
0 2 4 6 7 10 12 14 16 .... 100
Esto es así porque en cada iteración se aumenta el valor de i en 2, y no en 1
como en el ejemplo anterior.
Otro detalle es que no se utilizan las llaves, pues cuando lo que queremos hacer
lo podemos expresar con una sola línea de instrucción, no hacen falta las llaves
de apertura y cierre de bloque.
Si queremos hacer un bucle que haga un conteo descendente, debemos aplicar la
misma lógica pero de forma descendente.
for(i=100;i>=0;i--){
documet.write(i);
}
Con esto el conteo es de 100 hacia 0, y lo logramos decrementando el valor de la
variable i en cada iteración.
Ejercicio 1:
Mostrar un listado de números del 1 al 10, y mostrar al lado su cuadrado.
Es decir que la salida por pantalla debería ser :
1 - 1
2 - 4
3 - 9
4 - 16
etc.....
Solución :
for(i=1;i<=10;i++){
document.write(i + “ - ” + i*i + “<br>”);
}
Ejercicio 2 :
Se debe realizar un bucle que escriba en el documento lo siguiente:
<h1> texto nivel 1 </h1>
<h2> texto nivel 2 </h2>
<h3> texto nivel 3 </h3>
<h4> texto nivel 4 </h4>
<h5> texto nivel 5 </h5>
<h6> texto nivel 6 </h6>
Solución :
for(i=1;i<=6;i++){
document.write(“<h” + i + “> texto de nivel “ + i + “</h” + i + “>”);
}
21- Bucles While y Do While
While –
Ej.:
var dinero =... //cantidad de dinero disponible
while ( dinero > 0 ){
sentencias para gastar dinero mientras tenga...
dinero -= gasto;
}
Do – While
Este bucle, al igual que el bucle while, se utiliza cuando no se sabe la cantidad
exacta de veces que se debe ejecutar dicho bucle.
La principal diferencia entre ambos bucles es que en el bucle do-while, sabemos
que se ejecutará por lo menos una vez, pues en esta estructura la condición se
evalúa al final del bucle, no al comienzo como el while normal.
La estructura del bucle es :
do{
sentencias
}while (condición)
Este bucle se ejecuta siempre por lo menos una vez, y al final se evalúa la
condición, en caso de cumplirse se continua la ejecución de bucle.
22 – Break & Continue
Dentro de los bucles javascript nos da dos opciones más para controlar la
ejecución de los mismos.
Break
Con la palabra break detenemos el bucle, o sea nos salimos de el, y
continuamos con la siguiente línea después del bucle.
Ej.:
for (i=0;i<10;i++){
document.write (i)
escribe = dime si continúo
if (escribe == "no")
break;
}
En el ejemplo lo que se hace es escribir un número del 0 al 9 y en cada
iteración se pregunta al usuario si quiere continuar. En caso de que el
usuario escriba cualquier cosa, se toma como que desea continuar, solo se
sale cuando el usuario ingresa “no”, que se ejecuta el “break”.
Continue
Sirve para continuar con la ejecución del bucle con la siguiente iteración
(volver al principio), sin ejecutar las siguientes líneas después del
“continue”.
Ej.:
var i=0;
while (i<7){
incrementar = dime si incremento
if (incrementar == "no")
continue ;
i++ ;
}
Explicación.-
Se comienza inicializando el bucle externo, con la variable indice i que
valdrá 0. A continuación se inicializará el segundo bucle, con la variable j
que iniciará en 0 también.
En cada iteración se imprime el valor de la variable i, seguido de un
guión “ – “, y luego se imprime el valor de la variable j.
El resultado de las primeras iteraciones sería :
0–0
0–1
0–2
0–4
etc.
El bucle que está anidado, el interno, es el que más veces se ejecuta, pues
por cada iteración del bucle más externo, se ejecutara por completo el
bucle interno. Es decir que el bucle interno hará sus 10 iteraciones en
cada una de las iteraciones del bucle externo.
Cuando el bucle externo pase a la siguiente iteración el resultado por
pantalla seria :
1–0
1–1
1–2
1–3
1–4
1–5
etc.
Así se seguiría hasta que en pantalla aparezca el par “9 – 9”, que sería la
última combinación posible de los bucles.
Ejercicio.:
Basado en el ejemplo anterior, escribir por pantalla todas las tablas de
multiplicar desde la del 1 hasta la del 9.
Solución.:
for(i=0;i<10;i++){
document.write(“<br><b>La tabla del “ + i + “ : </b><br>”);
for(j=0;j<=10;j++){
document.write(i + “ x “ + j + “ = “);
document.write(i*j);
document.write(“<br>”);
}
}
Ejercicio.:
Crear una tabla que tenga 5 filas y 6 columnas por fila, y que en cada
celda aparezca un par de números que representan fila y columna.
Solución.:
document.write(“<table border=0 cellpadding=3 cellspacing=1>”);
for(i=0;i<=5;i++){
document.write("<tr>");
for(j=0;j<=6;j++){
document.write("<td>");
document.write(i + " - " + j);
document.write("</td>");
}
document.write("</tr>");
}
document.write(“</table>”);
24- Funciones:
No solo podemos ejecutar las funciones que escribimos nosotros, sino también
las que ya están predefinidas en el sistema, la mayoría de los lenguajes de
programación tienen funciones predefinidas para realizar procesos habituales,
como obtener la hora del sistema, mandar un mensaje al usuario, o convertir
variables de un tipo a otro.
Ya hemos utilizado algunas funciones sin darnos cuenta, como por ejemplo la
función write del documento cuando hacíamos document.write( ) que escribía un
texto por pantalla.
function nombreFuncion(){
instrucciones...
....
....
}
Primero se escribe la palabra “function” que es una palabra reservada del
sistema. Luego se escribe el nombre de la función, el nombre de la
función sigue las mismas normas que los nombres de variables.
Luego se colocan los paréntesis, que pueden ir vacíos, o llevar
parámetros, que veremos luego.
Y por último, las llaves que contienen todas las instrucciones de nuestra
función, en el caso de las funciones la colocación de las llaves no es
opcional.
Ej.:
function mensajeBienvenida( ){
document.write( “<h1>Bienvenido</h1>”);
}
Una función por si sola no se ejecuta, es decir que si no es llamada
explícitamente entonces no será ejecutada.
Para llamar a una función y con ello ejecutar todas las instrucciones que
esta función agrupa, lo tenemos que hacer a través de su nombre, seguido
de dos paréntesis.
mensajeBienvenida();
Cuando da error :
<SCRIPT>
miFuncion()
</SCRIPT>
<SCRIPT>
function miFuncion(){
//hago algo...
document.write("Esto va bien")
}
</SCRIPT>
Consejos :
Ej.:
function mensajeBienvenida( nombre ){
document.write( “<h1>Hola “ + nombre + “</h1>” );
}
mensajeBienvenida( “Pedro” );
Múltiples parámetros :
function pasoPorValor(miParametro){
miParametro = 32;
document.write("he cambiado el valor a 32") ;
}
var miVariable = 5;
pasoPorValor(miVariable)
document.write ("el valor de la variable es: " + miVariable)
En este ejemplo, creamos una variable “miVariable” y le asignamos el
valor 5, luego pasamos esa variable como parámetro a la función
“pasoPorValor”, y dentro de esta función a través de “miParametro”
tenemos acceso al valor de lo que nos fue pasado, o sea al valor que tiene
la variable “miVariable”.
Dentro de la función, se modifica el valor de “miParametro”, pero sin
embargo, el valor de “miVariable” nunca se modifica, pues solo pase el
valor de esta, y no la variable en si mismo.
En javascript solo se pueden pasar parámetros por valor, en otros
lenguajes también se acepta el pasaje de parámetros por referencia.
Las funciones no solo pueden recibir parámetros, sino que también pueden
devolver valores como resultado de operaciones internas de la función.
Por ejemplo, una función que calcule la suma de dos números, recibe como
parámetros de entrada a esos dos números, y retorna el valor de la suma de
ambos.
Ej.:
function media( numero1, numero2 ){
var resultado;
resultado = ( numero1 + numero2 ) / 2;
return resultado;
}
Para recibir los valores retornados por una función se debe asignar el mismo a
alguna variable o expresión, a través de los operadores de asignación.
Ej.:
var miMedia;
miMedia = media(12, 8);
En este ejemplo creo una variable “miMedia” y después le asigno el valor que
retorna la función.
Múltiples return :
Ej.:
function returnMultiple( numero ){
var resto= numero % 2;
if ( resto = = 0){
return 0;
}else{
return numero;
}
}
Esta función recibe un parámetro, y verifica si el número ingresado es
par, en caso de que si lo sea, retorna 0, en caso contrario devuelve el
parámetro recibido.
Los Arrays nos permiten guardar varias variables, y poder acceder a ellas de
forma independiente, es como tener una variable con distintos compartimentos,
donde podemos introducir datos distintos. Para especificar en que
compartimiento se guarda un valor tenemos un “índice” que nos facilita la
introducción y recuperación de esos valores.
El objeto Array está disponible a partir de la versión 1.1 de javascript.
Creación de Arrays :
Recorrer un array :
miArray[0] = 155
miArray[1] = 4
miArray[2] = 499
for (i=0;i<3;i++){
document.write("Posición " + i + " del array: " +
miArray[i])
document.write("<br>")
}
Ej.:
var miArray = new Array ( );
miArray[0] = 123;
miArray[1] = 456;
miArray[2] = 789;
Ej.:
var miArray = new Array(2)
miArray[0] = "Colombia"
miArray[1] = "Estados Unidos"
miArray[5] = "Brasil"
for (i=0;i<miArray.length;i++){
document.write("Posición " + i + " del array: " +
miArray[i])
document.write("<br>")
}
Son estructuras que almacenan los datos en más de una dimensión. Los Arrays
vistos hasta ahora almacenan los datos en una sola dimensión, por ello utilizan
solo un índice.
Los Arrays de dos dimensiones guardan sus datos como si fuesen tablas con filas
y columnas, y por ello necesitamos de dos indices para acceder a cada una de las
posiciones.
Un Array multidimensional es como un Array que en cada posición guardara
otro Array, es decir que para cada posición del Array, existen mas posiciones
internas.
En javascript no existe realmente un Array multidimensional, para simular estas
estructuras podemos definir Arrays y en cada una de las posiciones definir un
Array como contenido de la posición.
Ej.:
var temperaturas_medias_ciudad0 = new Array(3);
temperaturas_medias_ciudad0[0] = 12;
temperaturas_medias_ciudad0[1] = 10;
temperaturas_medias_ciudad0[2] = 11;
Hemos creado 3 Arrays de una dimensión, y tres elementos cada uno. Ahora
creamos un Array de 3 elementos y dentro de cada casilla del Array nuevo
incluiremos los Arrays creados anteriormente.
Para ello tenemos que hacer un recorrido por cada una de las casillas del
Array bidimensional y dentro de estas hacer un nuevo recorrido para cada
una de sus casillas internas. Es decir, un recorrido por un Array dentro de
otro.
El método para hacer un recorrido dentro de otro es colocar un bucle
dentro de otro, lo que se llama un bucle anidado.
Ej.:
for (i=0;i<temperaturas_cuidades.length;i++){
document.write("<b>Ciudad " + i + "</b><br>");
for (j=0;j<temperaturas_cuidades[i].length;j++){
document.write(temperaturas_cuidades[i][j]);
}
}
Inicialización de Arrays :
Vamos a ver una manera de inicializar sus valores a la vez que lo
declaramos, así podemos realizar de una manera más rápida el proceso de
introducir valores en cada una de las posiciones del Array.
El método normal de crear un Array vimos que era a través del objeto
Array, poniendo entre paréntesis el número de casillas del Array o no
poniendo nada, de modo que el Array se crea sin ninguna posición. Para
introducir valores a un Array se hace igual, pero poniendo entre los
paréntesis los valores con los que deseamos rellenar las casillas separados
por coma.
Ej.:
var diasSemana = new Array
("Lunes","Martes","Miércoles,","Jueves","Viernes","Sábado","Do
mingo")