Site hosted by Angelfire.com: Build your free website today!

Ven a la página principal de "Info-Linfo"

Curso de JavaScript para programadores - Sección 2

autor: Luis Paez


Este curso supone ciertos conocimientos de programación y de HTML

Ultima actualización: 19/ene/01


Indice:

Bifurcaciones condicionales

El objeto String

Ejemplos del uso de propiedades y métodos de String

El objeto Math

Ejemplos del uso de propiedades y métodos de Math

Más ejemplos

Ejemplo 5. Petición de contraseña.

Ejemplo 6. Suma de quebrados.



Pese a que en la anterior sección aprendimos cómo interactuar con el usuario mediante los métodos Alert() y Prompt() aún no podemos realizar programas que tengan alguna utilidad práctica. Si has programado antes en cualquier lenguaje sabrás que debemos conocer la bifurcación condicional que nos provee el famoso 'if', que debemos aprender pronto como realizar iteraciones con el 'for' y que será imprescindible conocer formas de manipular cadenas y realizar cálculos. Con esos conocimientos que se expondrán en esta sección ya es posible realizar cosas interesantes.


Bifurcaciones condicionales

El 'if' de Javascript es similar al de C o Java. Por ejemplo, para comprobar si el día contenido en una variable es mayor a 31 escribiríamos:

if(dia > 31 ) {
document.writeln("Error: el día registrado es mayor a 31");
document.writeln("Por defecto, se utilizará el primero del mes");
dia = 1;
}


También es importante notar en el trozo de código anterior que las llaves ({}) encierran bloques de código. En este caso encierran 3 instrucciones que serán ejecutadas si la condición (dia > 31) se cumple.

Por supuesto, también existe el 'else' que indica lo que debe hacerse en caso de que la condición no se cumpla. Por ejemplo:

if(dia > 31 ) {
document.writeln("Error: El día registrado es mayor a 31");
document.writeln("Por defecto, se utilizará el primero del mes");
dia = 1;
} else {
document.writeln("La fecha ha sido aceptada.");
document.writeln("Ahora debe esperar nuestra llamada.");
}


Los operadores condicionales son

> mayor
< menor
== igual
!= distinto
<= menor o igual
>= mayor o igual


El objeto String

Para Javascript una cadena es un objeto string que tiene, como cualquier otro objeto, sus propiedades y métodos (ver en un anexo al final algunos conceptos acerca de la programación orientada a objetos).

La siguiente tabla resume algunas propiedades y métodos del objeto string.

Propiedades Descripción
length Indica el número de caracteres en la cadena.
Métodos  
charAt() Regresa el carácter situado en el índice especificado
indexOf() Regresa el índice de la primera aparición de la cadena especificada.
lastIndexOf () Regresa el índice de la última aparición de la cadena especificada.
substring() Extrae una parte de la cadena
toLowerCase() Devuelve la cadena en minúsculas
toUpperCase() Devuelve la cadena en mayúsculas


Ejemplos del uso de propiedades y métodos de String

length

<script language="JavaScript">
var nombre = "Alberto Gandarillas";

// escribe 19, que es el número de caracteres en nombre
document.writeln(nombre.length);
</script>


chatAt()

<script language="JavaScript">
var nombre = "Alberto Gandarillas";

// escribe G, que es el carácter en la posicion 8 (el primer carácter está en 0)
document.writeln(nombre.charAt(8));
</script>


indexOf()

<script language="JavaScript">
var nombre = "Alberto Gandarillas";

// escribe G, que es la posicion en que se encuentra el carácter t
document.writeln(nombre.indexOf('t'));
</script>


lastIndexOf()

<script language="JavaScript">
var nombre = "Alberto Gandarillas";

// escribe 17, que es la última posicion en que se encuentra el carácter a
document.writeln(nombre.lastIndexOf('a'));
</script>


substring()

<script language="JavaScript">
var nombre = "Alberto Gandarillas";

// escribe bert, que es el substring desde la pos. 2 hasta la 6-1=5
document.writeln(nombre.substring(2,6));
</script>


toLowerCase()

<script language="JavaScript">
var nombre = "Alberto Gandarillas";

// escribe alberto gandarillas (todo minúsculas)
document.writeln(nombre.tolowerCase());
</script>


toUpperCase()

<script language="JavaScript">
var nombre = "Alberto Gandarillas";

// escribe ALBERTO GANDARILLAS (todo mayúsculas)
document.writeln(nombre.toUpperCase());
</script>



El objeto Math

El objeto Math nos permite trbajar con valores numéricos a través de propiedades y métodos para calcular valores trigonométricos, logarítmicos, etc.

La siguiente tabla resume algunas propiedades y métodos del objeto Math.

Propiedades Descripción
E Constante de Euler. Base de los logaritmos naturales. (2.71828...)
PI Constante PI. (3.14159...)
SQRT1_2 Raiz cuadrada de 1/2
SQRT2 Raiz cuadrada de 2
Métodos
abs() Valor absoluto
acos() Arco coseno
asin() Arco seno
atan() Arco tangente
ceil() El entero mayor o igual al número
cos() Coseno
exp() Calcula e elevado al número
floor() El entero menor o igual al número
log() Logaritmo natural
max() Mayor de dos números
min() Menor de dos números
pow() Calcula el primer número elevado al segundo
random() Genera un valor aleatorio
round() Redondea
sin() Seno
sqrt() Raiz cuadrada
tan() Tangente


Ejemplos del uso de propiedades y métodos de Math

E y PI

<script language="JavaScript">

document.writeln("e="+Math.E);
document.writeln("<BR>pi="+Math.PI);

</script>


ceil() y floor()

<script language="JavaScript">
var numero = 1.23;

document.writeln("numero="+numero);
document.writeln("<BR>ceil="+Math.ceil(numero));
document.writeln("<BR>floor="+Math.floor(numero));

</script>


sin y cos

<script language="JavaScript">
var numero = 1.23;

document.writeln("numero="+numero);
document.writeln("<BR>seno="+Math.sin(numero));
document.writeln("<BR>coseno="+Math.cos(numero));

</script>


min() y max()

<script language="JavaScript">
var num1 = 12;
var num2 = 354;

document.writeln("numeros="+num1+" y "+num2);
document.writeln("<BR>min="+Math.min(num1, num2));
document.writeln("<BR>max="+Math.max(num1, num2));

</script>

pow()

<script language="JavaScript">
document.writeln("2.5 elevado a 4 = " + Math.pow(2.5, 4));
</script>

random()

<script language="JavaScript">
document.writeln(Math.random());
</script>


Más ejemplos

Con lo que ya sabemos se pueden hacer muchas cosas. Empecemos con algo sencillo.

Ejemplo 5. Petición de contraseña. Este primer programa pedirá una contraseña y avisará si es correcta o no.

<script language="JavaScript">
var password="abc321"

if ( prompt("Escriba su contraseña, por favor", "")==password )
document.writeln("Correcta.");
else
document.writeln("Contraseña incorrecta.");
</script>

Si ya revisamos el script anterior, ya podemos aumentar alguna funcionalidad. Si deseamos que el usuario pueda registrar la contraseña en mayúsculas o minúsculas, podemos añadir el método toLowerCase de la siguiente manera.

<script language="JavaScript">
var password="abc321";
var respuesta;

respuesta = prompt("Escriba su contraseña, por favor", "");
if ( respuesta.toLowerCase()==password.toLowerCase() )
document.writeln("Correcta.");
else
document.writeln("Contraseña incorrecta.");

</script>

Para simplificar he añadido una nueva variable que contendrá la respuesta digitada por el usuario. Luego se aplica el método toLowerCase() tanto a respuesta como a password.

Ahora, podemos reformular un poco el script que recien escribimos. Nuestro nuevo programa no avisará si la contraseña es correcta, sino que cargará un página de nombre secreta.html. Si la contraseña es incorrecta, pondrá el mismo mensaje de antes pero en un tamaño más llamativo.

<html>
<head>
<title>Página secreta</title>
</head>

<body>
<script language="JavaScript">
var password="abc321";
var respuesta;
var mensaje1='<FONT SIZE="5" COLOR="red">Contrase&ntilde;a incorrecta!</FONT>';

respuesta = prompt("Escriba su contraseña, por favor", "");
if ( respuesta.toLowerCase()==password.toLowerCase() )
window.open("secreta.html", "nueva ventana");
else
document.writeln(mensaje1);

</script>
</body>
</html>

Ejemplo 6. Suma de quebrados.


En este nuevo ejemplo, haremos un script que pida 2 quebrados escritos en la forma nn/nn y presente la suma correspondiente.

<html>
<head>
<title>Suma de quebrados</title>
</head>

<body>
<script language="JavaScript">
// variables que serán usadas en el programa
var cadena1, cadena2, posBarra;
var numerador1, denominador1, numerador2, denominador2;
var resultNum, resultDen;

// pide primer quebrado
cadena1 = prompt("Primer quebrado :\n(En la forma nn/nn, por favor)", "");

if( cadena1 != "" ) {
posBarra = cadena1.indexOf("/");

if( posBarra==-1 ) {
denominador1 = 1;
posBarra = cadena1.length;
}
else
denominador1 = cadena1.substring(posBarra+1, cadena1.length);

numerador1 = cadena1.substring(0, posBarra);

// hasta aqui ya tenemos el primer quebrado

// pedimos el segundo quebrado
cadena2 = prompt("Segundo quebrado :\n(En la forma nn/nn, por favor)", "");
if( cadena2 != "" ) {
posBarra = cadena2.indexOf("/");

if( posBarra==-1 ) {
denominador2 = 1;
posBarra = cadena2.length;
}
else
denominador2 = cadena2.substring(posBarra+1, cadena2.length);

numerador2 = cadena2.substring(0, posBarra);
}

// convierte a enteros
numerador1 = parseInt(numerador1);
denominador1 = parseInt(denominador1);

numerador2 = parseInt(numerador2);
denominador2 = parseInt(denominador2);

// no continua si algun denominador es 0
if( denominador1==0 || denominador2==0 )
alert("Existe 0 en el denominador. No se puede continuar.");
else {
resultNum = numerador1*denominador2 + numerador2*denominador1;
resultDen = denominador1*denominador2;

alert("Suma : " + resultNum + "/" + resultDen);
}
}

</script>


</body>
</html>



Curso de JavaScript para programadores - Autor: Luis Paez

Comentarios a lupar@altavista.com