0% encontró este documento útil (0 votos)
36 vistas

Java Script

JAVA code

Cargado por

Cami Mangione
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
36 vistas

Java Script

JAVA code

Cargado por

Cami Mangione
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 22

JavaScript interactivo

Lo que acabamos de ver es un ejemplo de cmo JavaScript puede ser


interactivo. Ahora intntalo t mismo!
Ejemplos:
confirm("Me siento sper!");
confirm("Estoy listo para continuar.");

Estas cajas de dilogos pueden ser usadas en los sitios web para que los
usuarios confirmen acciones. Probablemente las has visto aparecer cuando
intentas borrar cosas importantes o cuando sales de un sitio web sin grabar los
cambios.

Qu es programar?
Programar es como escribirle al computador una lista de instrucciones, de
forma que pueda hacer cosas geniales con la informacin que le das.
Los programas no pueden tender tu cama por ti, pero s pueden hacer
clculos, llevar un registro de tu cuenta en el banco o enviarle un mensaje a
uno de tus amigos.
Para realizar cualquiera de estas acciones, el programa necesita que se le
ingresen datos. Puedes pedirle al usuario que ingrese datos mediante un
prompt.
Ejemplos:
1. prompt("Cul es tu nombre?");
2. prompt("Qu es Ubuntu?");

Tipos de datos I & II: Nmeros y Strings


Existen varios tipos de datos. Y ya usaste dos de ellos!
a. numbers son cantidades, tal como las que conoces. Puedes hacer
operaciones matemticas con ellas.

b. strings son secuencias de caracteres, como las letras a-z, los espacios, e
incluso los nmeros. Todos estos son strings: "Ryan", "4" y"Cul es tu
nombre?" Los strings son muy tiles como etiquetas, nombres y contenido para
tus programas.
Para generar un nmero en tu cdigo, simplemente escrbelo como un
numeral sin comillas: 42, 190.12334.
Para escribir un string, debes ponerlo entre comillas: "Cul es tu nombre?"

Tipos de datos III: booleanos


El tercer tipo de dato es un booleano(que se pronuncia "bu-lea-no"; bautizado
as en honor a George Boole). Un booleano puede tener dos
valores, true (verdadero) o false(falso).
Puedes usarlos en tu cdigo haciendo sentencias que sean igual a true o false.
Por ejemplo:
1. 10 > 3 es igual a true
2. 5 < 4 es una locura, as que es igual a false
Los booleanos son bastante tiles porque ms adelante nos permitirn
ejecutar ciertas partes de nuestro cdigo solamente si ciertas condiciones
son verdaderas. Por ejemplo, los cajeros automticos calculan si [la cantidad de
dinero en tu cuenta bancaria] > 0 y solamente te darn dinero si la respuesta
es true.

Usando console.log
Posiblemente te hayas dado cuenta de que el intrprete no muestra mensajes
de todas las acciones que ejecuta. As que a veces, cuando queremos saber
qu es lo que est pensando, tenemos que preguntarle directamente.

El comando console.log() toma lo que est entre parntesis y lo registra en la


consola debajo de tu cdigo; por eso es que se llama console.log() (registro de
consola)!
A esta accin se le conoce comnmente como impresin.

Comparaciones
Hemos aprendido acerca de tres tipos de datos: numbers, strings y booleanos.
Vamos a aprender sobre los operadores de comparacin y como se relacionan
con los tipos de datos.
Lista de operadores de comparacin:

> Mayor que

< Menor que

<= Menor o igual que

>= Mayor o igual que

=== Igual que

Decisiones, decisiones...
Buen trabajo con las comparaciones! Ahora vamos a echarle un vistazo a qu
tan tiles pueden ser.
Puedes usar comparaciones ms booleanos para decidir si un bloque de
cdigo debe ejecutarse. A esto se le llama una sentencia if o sentencia
condicional.
Mira el cdigo en la parte derecha. El computador primero observa la lnea
1. Si la condicin (en este caso, si 100 < 2) es true, entonces ejecuta el cdigo
dentro de las llaves {}.
Si la condicin es false, omite el cdigo en las llaves por completo y pasa a la
siguiente lnea, que es la lnea 6.

Los computadores son inteligentes

Buen trabajo con las sentencias if! Ahora vamos a darle a tu robot dos
opciones.
El robot ha llegado a una encrucijada en el camino. Va a revisar el programa
que escribiste para decidir qu camino debera tomar.
En forma de cdigo, se ve ms o menos as:
if (si esta condicin es true)
{
// ejecuta este cdigo
}
else // "de otra manera"
{
// ejecuta en cambio este cdigo
}

Tu robot comienza en la primera lnea. Si la condicin es true, se ejecutar el


cdigo en el primer par de llaves, igual que en el ejercicio anterior. Esto har
que se ignore el bloque de cdigoelse.
Pero si la condicin es false, el robot ignorar el primer bloque y ejecutar el
bloque despus de else.
De esta manera, el robot ejecuta una parte del cdigo o la otra, dependiendo
de la condicin en la primera lnea.

Matemticas
Ya hemos visto las operaciones matemticas bsicas. Los smbolos
matemticos bsicos que aprendimos en la escuela tambin funcionan aqu.
Hasta el orden en el que el computador entiende las matemticas es el mismo
que en la escuela!

Cdigo:
1. ( ): controla el orden de las operaciones
2. * y /: multiplicacin y divisin
3. - y +: resta y suma
Ejemplos:
1. 100/10 es igual a 10
2. "Jane".length + 5 es igual a 9
3. 5*(3+1) es igual a 20

Matemticas y modulo
Vamos a ver un smbolo interesante llamado modulo. Cuando se
coloca %entre dos nmeros, el computador dividir el primer nmero por el
segundo, y luego dar como resultado el residuo de esa divisin.
As que, si escribimos 23 % 10, estamos dividiendo 23 entre 10, lo que da como
resultado 2, y el residuo es 3. As que 23 % 10 es igual a 3.
Ms ejemplos:
17 % 5 es igual a 2
13 % 7 es igual a 6

Subcadenas
Hemos aprendido unas cuantas maneras de manipular los nmeros. Qu hay
acerca de los strings?
En ocasiones no querrs que aparezca el string completo, sino solo una parte
de l. Por ejemplo, puedes configurar tu bandeja de entrada de Gmail para que
muestre los primeros 50 (o ms o menos) caracteres de cada mensaje, de

manera que tengas una vista previa de ellos. Esta vista previa es
unasubcadena del string original (el mensaje completo).
Cdigo:
"alguna palabra".substring(x, y)donde x es el punto donde se comienza a cortar

y y es el punto donde se termina de cortar el string original.


La parte del nmero es un poco extraa. Para escoger la parte de "ho" en
"hola", tendras que escribir algo as:"hola". substring(0, 2);
Imagnate que hay un marcador a la izquierda de cada caracter, as: 0-h-1-o-2-l3-a-4.
Si comienzas a cortar en el 0 y terminas en el 2, tendrs ho.
Ms ejemplos:
1. Las primeras tres letras de "Batman"
"Batman".substring(0,3)

2. Desde la 4ta hasta la 6ta letra de "laptop"


"laptop".substring(3,6)

Variables
Hemos aprendido como hacer algunas cosas: a hacer strings, a saber cuntos
caracteres tiene un string, a saber qu caracter est en una determinada
posicin y a hacer operaciones matemticas bsicas. No est mal para ser el
trabajo de un da!
Para escribir un cdigo que sea ms complejo, necesitamos una forma de
'guardar' los valores de nuestro cdigo. Esto lo hacemos definiendo una

variable con un nombre especfico, que distingue entre maysculas y


minsculas. Una vez que crees (o quedeclares) una variable con un nombre
particular, puedes llamar a ese valor escribiendo el nombre de la variable.
Cdigo:
var nombreVariable = tipo de datos;

Example:
a. var miNombre = "Leng";
b. var miEdad = 30;
c. var esImpar = true;

Cambiar los valores de variables


Hasta ahora hemos aprendido
a. como crear una variable
b. como usar una variable
Ahora vamos a ver cmo cambiar el valor de una variable. El valor de una
variable se puede cambiar fcilmente. Solo pretende que ests creando una
nueva variable, pero usando el nombre de la variable que ya existe!

Ejemplo:
var miEdad = 30;

Digamos

que

cumpl

aos

miEdad = 31;

Ahora el valor de miEdad es 31!

Conclusin: Parte 1
Vamos a hacer un repaso rpido!
Tipos de datos

quiero

cambiar

cuntos

aos

tengo.

a. numbers - salos como los nmeros comunes y corrientes


b. strings - todo lo que est entre " " es un string. Las palabras deben ser
strings.
c. booleanos - solamente pueden sertrue (verdaderos) o false (falsos).
Variables
Almacenamos valores de datos en las variables. Podemos recuperar los valores
de esas variables escribiendo el nombre de la variable.
Manipular numbers & strings
a. numbers - operadores de comparacin, modulo
b. strings - length, subcadena
console.log( )
Muestra en la consola cualquier cosa que pongamos entre parntesis.

Introduccin a las funciones


Programar es parecido a hornear pasteles. En serio! Imagina que ests
tratando de ensearle a tu amiga Jane como hornear muchos diferentes tipos
de pasteles.
Cada pastel requiere de diferentes ingredientes (es decir, datos de entrada).
Pero las instrucciones de 'horneado' siempre son las mismas.
1. Precalienta el horno a 300 grados
2. Mezcla todos los ingredientes en un tazn
3. Mete el contenido en el horno por 30 minutos

Y el resultado ser un pastel diferente cada vez.


Es tedioso tener que repetirle a Jane las mismas instrucciones de 'horneado'
todas las veces. Qu tal si simplemente pudiramos decir 'hornea' y Jane
supiera como ejecutar esos tres pasos? Eso es exactamente lo que es una
funcin!
//As es como luce una funcin
var dividirPorTres = function (number) {
var val = number / 3;
console.log(val);

};
//En la lnea 11, llamamos a la funcin por su nombre
//Ahora la llamamos desde 'dividirportres'
//Le decimos al computador cul es el nmero de entrada (es decir, 6)
//Entonces el computador usa el cdigo dentro de la funcin
dividirPorTres(6);

Sintaxis de funcin
Piensa que una funcin tiene cuatro partes.
1.

Declara la funcin usando var, y luego asgnale un nombre.

2.

Luego debes usar el comando function para decirle al computador que


ests haciendo una funcin.

3.

El fragmento entre parntesis es llamado el parmetro. Piensa que es


una palabra de reemplazo a la que le asignamos un valor especfico cuando
llamamos a la funcin. Observa la sugerencia para saber ms.

4.

Luego escribe tu cdigo reusable entre { }. Cada lnea de cdigo en este


bloque deber terminar con un ;.
Sintaxis
var nombreDeFuncion = function ( ) {
cdigo cdigo cdigo;
cdigo cdigo cdigo;
(ms lneas de cdigo);
};

Digamos que quieres mostrar en un mensaje un saludo cada vez que una
persona pase al frente de tu escritorio. Y que quieres personalizar ese saludo
con
sus
nombres.
Si
escribieras:
console.log("Hola,

Betty");

console.log("Hola,

Laura");

y as para cada persona, tardaras siglos!

Cmo funciona una funcin?


Vamos a ver exactamente como piensa un computador cuando ve el cdigo de
una funcin.
var nombreDeFuncion = function ( ) {
cdigo cdigo cdigo;
cdigo cdigo cdigo;

(ms lneas de cdigo);


};

1.

El comando var declara la funcin.

2.

var siempre va seguido de un nombre.

3.

El comando function le dice al computador que se trata de una funcin y


no de otra cosa.

4.

Los parmetros van entre parntesis. El computador los buscar en el


bloque de cdigo.

5.

El bloque de cdigo es el cdigo reusable que est entre llaves { }. Cada


lnea de cdigo dentro de { } debe terminar con punto y coma.

6.

La funcin completa termina con punto y coma.


Para usar la funcin, la llamamos tan solo con escribir el nombre de la
funcin, y colocamos un valor de parmetro dentro de los parntesis que van
despus. El computador ejecutar el cdigo reusable con el valor del
parmetro especfico sustituido dentro del cdigo.

Comando return
Buen trabajo! Ahora, cuando llamemos a una funcin, no siempre queremos
que simplemente muestre un mensaje. Algunas veces queremos
que retorne un valor. Entonces podemos usar ese valor (es decir, el resultado
de la funcin) en otro cdigo. Vamos a aprender acerca del comando return, y
luego veremos cmo usar las funciones con una sentencia if / else en el
siguiente ejercicio!
El comando return simplemente le devuelve al programador el valor que
resulta de una funcin. De esta forma, una funcin se ejecuta, y cuando se usa
return, la funcin dejar de ejecutarse inmediatamente y devolver el valor.
Para ver detalles sobre las cuatro diferentes maneras de usar return, mira la
sugerencia.

Cuatro formas de usar return


a. retorna el valor de una variable si la variable ha sido declarada dentro
de la funcin
b. retorna el parmetro
c. si el parmetro es un nmero, haz una operacin matemtica con ese
parmetro y podrs retornar el valor

d. si el parmetro es un string, usa comandos como .length or .substring()


y podrs retornar el valor

Funciones con dos parmetros


Hasta ahora solamente hemos visto funciones con un parmetro. Pero a
menudo es til escribir funciones con ms de un parmetro. Por ejemplo,
podemos tener la siguiente funcin:
var areaCaja= function(largo, ancho) {
return largo * ancho;
};

Porque podemos tener ms de un parmetro; esto quiere decir que podemos


crear ms funciones tiles.
Y para llamar a esta funcin, un ejemplo sera areaCaja(3,9). Ahora, queremos
saber el rea de la caja que tiene 3 de largo y 9 de ancho. Claro que se pueden
usar otros parmetros de valores!

Variables Globales vs Locales


Tenemos que conocer un concepto sper importante: mbito. El mbito
puede ser global o local.
Las variables definidas fuera de una funcin son accesibles en cualquier parte
una vez que han sido declaradas. Son llamadas variables globales y su mbito
es global.
Las variables definidas dentro de una funcin son variables locales. No se
puede acceder a ellas fuera de la funcin.
El cdigo en la parte derecha no funciona! Queremos que la lnea 15 muestre
el valor de la variable multiplicado. Pero multiplicado es una variable local y
solamente se puede usar dentro de la funcin. Console.log no puede acceder a
esta variable local.

Funciones y if / else
Una aplicacin especialmente til de cdigo son las sentencias if / else. Pueden
tener muchas palabras, y ser un dolor de cabeza a la hora de escribirlas
repetidamente.
Vamos a escribir una funcin que tome como parmetro los ingresos de una
persona. Dentro de la funcin habr una sentencia if / else. Queremos que la

funcin est disponible para verificar si los ingresos de muchas personas


diferentes los califican para tener una tarjeta de crdito.

Primer bucle for


En vez de escribir manualmente console.log cinco veces, podemos usar un
bucle para hacerlo. El objetivo de este ejercicio es mostrarte como se ve un
bucle, y demostrarte que tan til es. Los ejercicios ms adelante
a. te mostrarn la sintaxis paso a paso
b. te explicarn cmo piensa un computador cuando ejecuta un bucle for.
Inicialmente nos concentramos en usar los bucles solamente para contar
nmeros y conservar las cosas ms simples. Pero en la seccin 3, te
mostraremos como hacer cosas ms complejas!

Iniciando el bucle for


Felicitaciones! Acabas de ejecutar tu primer bucle for. Pero de lo que
probablemente tengas ganas es de escribir tu propio bucle for. En la parte
inferior est la sintaxis general de los bucles for. Vamos a concentrarnos en la
primera lnea en los siguientes ejercicios.
Sintaxis
for (var i = 1; i < 11; i = i + 1;) {
cdigo cdigo cdigo;
}

Cada bucle for hace uso de una variable de conteo. Aqu llamamos a nuestra
variable i (pero puede tener cualquier nombre). La variable desempea
muchos papeles. La primera parte del bucle for le dice al computador que
comience con un valor de 1 para i. Lo hace declarando la variable llamada i y
dndole un valor de 1.
Cuando el bucle for ejecuta el cdigo en el bloque de cdigo -la parte entre { }lo hace comenzando desde i=1

Finalizando el bucle for


Sabemos como controlar donde comienza un bucle for. Cmo controlamos
donde termina? Bien, la segunda parte del bucle es lo que lo determina.
Sintaxis
for (var i = 1; i < 11; i = i + 1;) {
cdigo cdigo cdigo;
}

As, este bucle seguir ejecutndose hasta que i = 11 (es decir, mientras que i <
11). As que cuando i = 2, o i = 9, el bucle se ejecutar. Pero cuando ideje de ser
menor que 11, el bucle se detendr.

Controlando el bucle for


Ahora podemos controlar donde comienza y termina un bucle for. Pero, qu
hay de poder controlar lo que pasa durante?
Los ejemplos que hemos visto han usado i = i + 1. Esto significa que cada vez
hemos incrementado la variable i en 1.
Reglas que hay que aprender
a. Un cdigo ms eficiente para incrementar en 1 es i++.
b. Disminuimos en 1 escribiendo i--.
c. Podemos incrementar hasta cualquier valor escribiendo i+=x, donde x es
qu tanto queremos incrementar. Por ejemplo, i+=3incrementa el contador en
3.
d. Podemos disminuir hasta cualquier valor escribiendo i-=x. (Observa la
sugerencia para saber ms.)

Cmo funciona?
Hemos visto los tres elementos de la sintaxis de un bucle for. Pero
exactamente cmo funciona? Vamos a imaginar que en la derecha estn los
pasos que sigue el computador para ejecutar el bucle for.
1.

Comienza con i = 2

2.

Luego pregunta: i es menor que 13? Como i=2, entonces es true y


podemos continuar.

3.

En este momento NO incrementamos. En vez de eso, si la condicin se


cumple, ejecutamos el bloque de cdigo.

4.

Aqu el bloque de cdigo imprime el valor de i. En este momento es 2,


as que lo que se imprime es 2.

5.

Una vez que el bloque de cdigo est terminado, el bucle for incrementa
o disminuye. Ahora sumamos 1.

6.

Y ahora i = 3. Verificamos si es menor que 13. Si es true, ejecutamos el


bloque de cdigo.

7.

El bloque de cdigo se ejecuta, y luego incrementamos.

8.

Repetimos estos pasos hasta que la condicin i<13 ya no se cumpla.

Conoce los arreglos


Son variables que pueden almacenar nmeros o strings. Pero por ahora solo
hemos podido almacenar UN nmero o UN string. Qu bueno que tenemos
arreglos. Arreglos:
a. almacenan listas de datos
b. pueden almacenar diferentes tipos de datos al mismo tiempo
c. estn ordenados de forma que la posicin de cada dato es fija
Ejemplo:
var nombres = ["Mao", "Ghandi","Mandela"];
var tamaos = [4, 6, 3, 2, 1, 9];
var mixto = [34, "dulces", "azul",11];

Sintaxis:
var nombreArreglo = [datos, datos, datos];

Cada vez que veas datos encerrados en [ ], se trata de un arreglo.

Posiciones de los arreglos


Es muy bueno que podamos colocar una lista de datos dentro de un arreglo.
Pero ahora tenemos que aprender como tener acceso a los datos dentro del
arreglo.
La posicin de los elementos en un arreglo es fija. As que solamente
necesitamos el nombre del arreglo (en este caso es datosChatarra), y la posicin
de los datos que queremos, y listo.
Pero hay una pequea complicacin. La posicin (o el ndice) de cada dato
comienza a contarse desde 0, no desde 1.
1.

Primer elemento en el arreglo:datosChatarra[0]

2.

Tercer elemento en el arreglo:datosChatarra[2]

Los arreglos estn indexados con base 0, as que tenemos que comenzar a
contar las posiciones desde 0.

Bucles y arreglos I
Qu buen trabajo! Has aprendido sobre los arreglos, y como acceder a un
elemento del arreglo. Pero, qu tal que el arreglo tuviera 100 elementos?
En los arreglos, una manera til de acceder sistemticamente a cada elemento
es usando un bucle for!
Cmo funciona?
1. La lnea 3 declara el arreglo. ste tiene 4 elementos.
2. Luego, comenzamos por el bucle for en la lnea 5.
3. Vemos que i comienza con un valor de 0.
4. El bucle for se ejecuta hasta que i < 4 (porque ciudades.length es igual a 4. El
arreglo ciudades tiene 4 elementos; consulta la Sugerencia para saber ms.)
5. Incrementaremos i en 1 cada vez que se complete un bucle.
6. Imprimimos ciudades[0], que es igual a "Melbourne".
7. Luego volvemos a empezar el bucle. Excepto que ahora i=1.
8. Imprimiremos ciudades[1], que es "Amn".
9. Esto se repite hasta que i ya no sea menor que ciudades.length.

Bucles y arreglos II
Es hora de que escribas tu propio arreglo y lo combines con un bucle.
Recuerda:
1.

Debes poner comas entre cada uno de los elementos del arreglo.

2.

Debes poner punto y coma entre cada elemento del bucle.

3.

Te sugerimos que uses el iteradori.

4.

Divirtete escribiendo el cdigo durante este ejercicio!

Bucles y arreglos III


Los bucles y los arreglos a menudo van de la mano. As que vamos a repasar
un poco ms.
Los arreglos contienen un nmero de elementos. Estos elementos estn en un
orden en particular. Los bucles se combinan bien con los arreglos porque
iteran en un orden prestablecido (por ejemplo, i+2 hace que avance de dos en
dos).

Codigo De Prueba De Concatenacin De Bucles


Usando Arreglos
/*jshint multistr:true */

texto = "Bla bla bla bla bla bla Eric \


bla bla bla Eric bla bla Eric bla bla \
bla bla bla bla bla Eric";

var miNombre = "Eric";


var aciertos = [];

for(var i = 0; i < texto.length; i++){


if (texto[i] == "E"){
for(var j = i; j < (miNombre.length + i); j++){
aciertos.push(texto[j]);
}
}
}

if (aciertos.length === 0){


console.log("No se encontr tu nombre!");
} else {
console.log(aciertos);
}

A propsito de 'while'
Buen trabajo con los bucles for! Sabemos que ya conoces del tema, pero, solo
como recordatorio; la sintaxis de los bucles for se ve as:
for(var i = inicio; i < fin; i++){
// Realizar una accin
}

En este caso, "inicio" es donde inicia nuestra variable de conteo (por lo general
es i) y "fin" es la condicin que finaliza el bucle.
Pero, qu tal si no sabes por anticipado cul ser tu contador o cuntas veces
tendrs que ejecutar el bucle? Presentamos a while.

Sintaxis de 'while'
El bucle while es ideal cuando quieres usar un bucle pero no sabes cuntas
veces tendrs que ejecutarlo.
En el ejemplo que acabamos de ver, el computador estaba lanzando una
moneda al azar: Con while, si el lanzamiento resultaba en 'cara', la moneda
sera lanzada de nuevo; pero si el resultado era 'sello', el lanzamiento se
detendra. Como el lanzamiento era aleatorio, no podramos saber con
anticipacin cuntos bucles necesitaramos.
La sintaxis se ve as:
while(condicin){
// Realiza una accin!
}

Siempre que la condicin d como resultado true, el bucle seguir


ejecutndose. Tan pronto como el resultado sea false, se detendr.
Como ya eres un experto en los buclesfor, esta sintaxis mucho ms simple
debe ser pan comido.

Un sujeto de bucles infinitos


Bien hecho!
En el ejercicio anterior mencionamos los bucles infinitos. Si le das una
condicin que es true a un bucle while y no creas una forma de que esa
condicin posiblemente se convierta en false, el bucle se seguir ejecutando
para siempre y tu programa se bloquear. Eso no est bien!
Para evitar que esto suceda, siempre debes tener una forma de asegurarte de
que la condicin en medio de los parntesis de while pueda cambiar.

Vers en el editor, en la parte derecha, el mismo cdigo del ejercicio anterior,


solo que esta vez hemos eliminado la parte que cambia la condicin del bucle.

La brevedad es el alma de la programacin


Tal vez hayas notado que cuando le damos a una variable el valor booleano
true, comprobamos esa variable directamente: no nos molestamos en
usar ===. Por ejemplo,
var bool = true;
while(bool){
//Realiza una accin
}

es lo mismo que
var bool = true;
while(bool === true){
//Realiza una accin
}

pero es ms rpido escribir la primera. Acostmbrate a escribir exactamente


lo que necesitas, y no ms!

La prctica hace al maestro


Muy bien. Es hora de que crees un bucle while desde cero!
Hemos escrito una funcin, bucle, en la que vas a escribir tu bucle while,
adems de que hemos creado el bucle vaco.
Recuerda hacer que la condicin que ests comprobando sea igual a true
afuera del bucle; si lo haces dentro del bucle, podra hacer que la condicin sea
igual a true una y otra vez, y se ejecutara para siempre!

Cuando usar 'while' y cuando usar 'for'


Como lo mencionamos, los bucles for son geniales para realizar la misma tarea
una y otra vez, cuando sabes con anticipacin cuntas veces tendrs que
repetir los bucles. Por otro lado, los bucles while son ideales cuando tienes que
hacer un bucle pero no sabes con antelacin cuntas veces tendrs que
ejecutarlo.
Sin embargo, como viste, puedes combinar un bucle while con una variable de
conteo para realizar la misma clase de trabajo que hace un bucle for. A
menudo en estos casos es una cuestin de preferencias.

El bucle 'do' / 'while'

A veces quieres estar seguro de que tu bucle se ejecuta al menos una vez, sin
importar nada. Si este es el caso, lo que buscas es un bucle while modificado,
llamado un bucle do/while.
Este bucle dice: "Oye! Realiza esta accin una vez, luego comprueba la
condicin para saber si debemos seguir ejecutando el bucle."

EJEMPLO:
var atacar = true;
var tuAciertas = Math.floor(Math.random() * 2);
var dannoEsteRound = Math.floor(Math.random() * 5 + 1);
var dannoTotal = 0;
while (atacar) {
if (tuAciertas) {
console.log("Lograste golpear y le hiciste" + dannoEsteRound + " dao!");
dannoTotal += dannoEsteRound;
if (dannoTotal >= 4) {
console.log("Lo hiciste! venciste al dragon!");
atacar = false;
} else {
tuAciertas = Math.floor(Math.random() * 2);
}
} else {
console.log("El dragon te hizo cenizas! Estas frito .");
atacar = false;
}
}

If / else if / else
Qu bien! Tambin vamos a practicar un poco con else, as como a aprender
sobre una nueva funcin de lujo: isNaN.
Si usas isNaN con algn elemento, la funcin verifica que ese elemento no
sea un nmero. Por lo tanto:
isNaN('baya') // => true

isNaN(NaN) // => true


isNaN(indefinido) // => true
isNaN(42); // => false

Ten cuidado: si usas isNaN en un string que se parezca a un nmero, como'42',


JavaScript tratar de ayudar, convirtiendo '42' en el nmero 42 y dar como
resultado false (ya que 42s es un nmero).

Completar un switch ya existente


La sentencia switch est compuesta as:
switch (//Alguna expresin) {
case 'opcin1':
// Realiza una accin
break;
case 'opcin2':
// Realiza otra accin
break;
default:
// Realizar otra accin ms
break;
}

JavaScript verificar si la expresin entre el parntesis de switch()coincide con


cada case. Si coinciden, ejecutar el cdigo debajo de cada caso, y en caso de
que ninguno coincida, ejecutar el cdigo default.

Descripcin general
Hasta ahora hemos visto cmo controlar nuestros programas con una sola
condicin: por ejemplo, si una variable es igual a determinado valor. Pero, qu
tal si queremos comprobar ms de una variable?
Para eso necesitaremos los operadores lgicos. JavaScript tiene tres de
ellos: and (&&), or (||), y not(!).
Con ellos podemos comprobar varias variables al mismo tiempo! Observa el
cdigo en el editor.

Y
El operador lgico and se escribe en JavaScript de esta forma: &&. Da como
resultado true cuando ambasexpresiones son true; si no lo son, da como
resultado false.
true && true // => true
true && false // => false
false && true // => false
false && false // => false

Or
El operador lgico or se escribe en JavaScript de esta forma: ||. Da como
resultado true cuando una, o la otra, o ambas expresiones son true; si no lo son,
da como resultado false.
true || true // => true
true || false // => true
false || true // => true
false || false // => false

Not
El operador lgico not se escribe en JavaScript de esta forma: !. Hace que las
expresiones true se vuelvanfalse, y viceversa.
!true // => false
!false // => true

.toUpperCase() y .toLowerCase()
Quizs observaste que utilizamos la funcin .toUpperCase() en el primer
ejercicio. La utilizamos de esta manera:
var variable = prompt("Pregunta para el usuario").toUpperCase();

Esto convierte la respuesta del usuario a MAYSCULAS antes de guardarla en


la variable. Esto ayuda a eliminar problemas que podran surgir si tu programa
ejecuta la prueba para 'SI' pero el usuario escribi 'si'. Los datos de entrada se
convierten en maysculas antes de la comprobacin, por tanto necesitaremos
comparar solamente las maysculas!
Tambin puedes utilizar .toLowerCase(), el cual convierte a minscula todas los
caracteres de un string.

Arreglos heterogneos
Ahora que hemos repasado algunos arreglos bsicos, es hora de aprender
algunas cosas nuevas.
Primero, no es necesario que ubiques el mismo tipo de datos en un arreglo. No
tienes que tener
var pronombres = ["Yo", "T", "Nosotros"];
var numeros = [1, 2, 3];

Puedes tener un arreglo heterogneo, lo que quiere decir que es una mezcla
de tipos , as:

var mix = [42, verdadero, "toalla"];

Arreglos de arreglos
Qu bien! Lo siguiente a saber es que, no solamente puedes colocar una
combinacin de tipos en un arreglo, sino que tambin puedes colocar otros
arreglos dentro de los arreglos. Puedes hacer un arreglo en dos
dimensionesanidando los arreglos en una capa ms adentro, as:
var 2d = [[1, 1], [1, 1]];

Este arreglo tiene dos dimensiones porque contiene dos filas, y cada una
contiene dos elementos. Si quisieras insertar una nueva lnea entre las dos
filas, podras mostrar en la consola un objeto 2D (un cuadrado), as:
[1, 1]
[1, 1]

También podría gustarte