Javascriptbasico Teoria
Javascriptbasico Teoria
Javascriptbasico Teoria
SINTAXIS DE LA LLAMADA:
<elemento evento=nombre_funcion([val1,val2,valN]);>
nombre_funcion(valor1,valor2,valorN);
En el primero de los casos la llamada se realiza desde un
elemento del documento. En el segundo caso la llamada se realiza
desde el interior de otra función, que también es posible.
LA VENTANA "ALERT"
LA VENTANA "ALERT"
Se trata de una ventana estándar que usamos para mostrar
información en pantalla. Se puede mostrar texto, variables y texto
en conjunto con variables. El diseño de la ventana ya esta definido
lo único que podemos hacer es mostrar la información una o
varias líneas. Su diseño y sintaxis es:
SINTAXIS:
alert("texto de la ventana");
alert(variable);
alert("texto"+variable);
Primer Programa
<html>
<head>
<script>
function hola()
{
alert("Hola a todos");
}
</script>
<title>Leonel</title>
</head>
<body onLoad=hola();>
</body>
</html>
Eventos
Un evento es un mecanismo por el cual podemos detectar las
acciones que realiza el usuario y llamar automáticamente a la
función que tengamos asociada.
Desde esta función realizaremos las acciones que tengamos
desarrolladas.
SINTAXIS:
<elemento nombre_evento=nombre_funcion([parametros]);>
EVENTO:SE PRODUCE AL
onLoad:Terminar de cargar una página o frame (entrar).
onUnLoad:Descargar una página o frame (salir).
onAbort:Abortar la carga de una página.
onError:Producirse algún error en la carga de la página.
onMouseOver:Pasar el ratón por encima de un enlace, area o frame.
onMouseOut:Dejar de estar el ratón encima de un enlace, area o frame.
onMouseMove:Mover el ratón por el documento.
onKeyUp:Presionar una tecla.
onClick:Hacer click con el ratón.
onResize:Dimensionar la ventana del navegador.
onMove:Mover la ventana del navegador.
onChange:Modificar texto en un control de edición. Sucede al perder el foco.
onSelect:Seleccionar texto en un control de edición.
onFocus:Situar el foco en un control.
onBlur:Perder el foco un control.
onSubmit:Enviar un formulario.
onReset:Inicializar un formulario.
Variables y constantes
Espacio de memoria con un nombre, reservado para guardar información mientras la
página este cargada.
EJEMPLO:
num1="12";
num2=10;
x=num1+num2; // daria como resultado 1210.
y=num2+num1; // daria como resultado 22.
Variables
Para evitar problemas en las conversiones, se pueden utilizar
métodos ya implementados que realizan la conversión de una
manera más segura.
TIPO DE CONVERSION SINTAXIS
De texto a numero: enterovar_numerica=parseInt(var_texto)
De texto a coma flotante:
(decimal)var_numerica=parseFloat(var_texto)
De numérica a texto: Es automática sin peligro.
<html>
<head>
<script>
var global=100;
function uno()
{
var local_uno=1;
alert("Global " +global +" Local " +local_uno);
dos();
}
function dos()
{
var local_dos=2;
alert("Global " +global +" Local " +local_dos);
}
</script>
<title>Leonel</title>
</head>
<body onLoad=uno();>
</body>
</html>
Operadores
JavaScript define TRES tipos de operadores: aritméticos, relacionales y lógicos.
También hay definido un operador para realizar determinadas tareas, como las
asignaciones.
ASIGNACION (=)
En JavaScript se puede utilizar el operador de asignación en cualquier expresión
valida. Solo con utilizar un signo de igualdad se realiza la asignación. El
operador destino (parte izquierda) debe ser siempre una variable, mientras que
en la parte derecha puede ser cualquier expresión valida. Es posible realizar
asignaciones múltiples, igualar variables entre si y a un valor.
SINTAXIS:
variable=valor;
variable=variable1;
variable=variable1=variable2=variableN=valor;
Operadores Aritméticos
ARITMÉTICOS
OPERADOR DESCRIPCIÓN
- Resta
+ Suma
* Multiplica
/ Divide
% Resto de una división
-- Decremento en 1
++ Incrementa en 1
vari+ = valor Incrementa el valor de vari
vari - = valor Decrementa el valor de vari.
vari * = valor Multiplica el valor de vari.
OPERADORES LÓGICOS Y RELACIONALES
SINTAXIS DE LA LLAMADA:
<elemento evento=nombre_funcion(valor1,valor2,valorN);>
nombre_funcion(valor1,valor2,valorN);
<body>
<a href="Uno.htm" onMouseOver = opt(1); >ir a uno</a>
<a href="Dos.htm" onMouseOver = opt(2); >ir a dos</a>
</body>
</html>
<html>
<head>
<script>
function opt(valor)
{
var cadena;
switch(valor)
{
case 1:
cadena="uno"; break;
case 2:
cadena="dos"; break;
case 3:
cadena="tres"; break;
case 4:
cadena="cuatro"; break;
}
alert("Vinculo " +cadena);
}
</script>
<title>Ejemplo de funciones</title>
</head>
<body><form>
<a href="Uno.htm" onMouseOver=opt(1);>uno</a>
<a href="Dos.htm" onMouseOver=opt(2);>dos</a>
<a href="Tres.htm" onMouseOver=opt(3);>tres</a>
<a href="Cuatro.htm" onMouseOver=opt(4);>cuatro</a>
</form></body>
</html>
MATRICES (Arrays)
Cajas de texto multilínea (area) Igual que una caja de texto o caja de contraseña.
Listas y Listas desplegables Construir el elemento como siempre, añadiendo en la etiqueta <select>
(select) el evento change. Y en cada etiqueta <option> añadir el atributo value
para poder identificar cual de los elementos ha sido elegido.
<html>
<head> EJEMPLO 1
<script>
var banco=100;
var num_secreto=0;
function genera()
{
num_secreto=Math.random()*3;
num_secreto=Math.round(num_secreto);
if(num_secreto==0)
num_secreto=3;
}
function juego(valor,c)
{
if(num_secreto==valor)
{
alert("Enhorabuena");
banco+=100;
genera();
}
else
{
banco-=50;
}
c.value=banco;
}
</script>
</head>
<body onload=genera();>
Apuesta:
<form>
<p>1<input type="radio" name="R1" onClick=juego(1,this.form.caja);>
<br>
2<input type="radio" name="R1" onClick=juego(2,this.form.caja);>
<br>
3<input type="radio" name="R1" onClick=juego(3,this.form.caja);>
<br>
banco:
<input type="text" name="caja" size="20" value="100"> </p>
</form>
</body>
</html>
Ejemplo 2
<html>
<head>
<script>
function pasa()
{
var temporal;
temporal=secre.value;
caja.value=temporal;
}
</script>
</head>
<body>
CONTRASEÑA:
<input type="password" name="secre" size="5" onKeyUp=
pasa() ;><br>
NORMAL:
<input type="text" name="caja" size="5">
</body>
</html>
Propiedades de las funciones.
JavaScript asocia a cada función dos propiedades: arguments y caller. Estas propiedades
permiten respectivamente la gestión de los parámetros opcionales y la identificacíón de la
función que llama.
La propiedad caller.
Muestra el nombre de la función que llama, por lo tanto, esta propiedad devolverá una cadena de
caracteres.
La propiedad arguments.
Es un array que contiene los parámetros que le son pasados a la función. Por ejemplo, la función
suma definida como:
function Suma(x)
{
var sumandos = suma.arguments;
var num_op = suma.arguments.length;
var resultado = 0;
for (var i=0; i<num_op; i++)
resultado += sumandos[i];
return resultado;
}
Vemos como esta función permite calcular la suma de los números pasados como argumentos.
Así, Suma(4,5,7) devuelve 16 y Suma(56) devuelve 56.
Consideraciones a tener en cuenta.
Antes de empezar a trabajar con funciones es necesario tener en cuenta los siguientes
puntos:
El lenguaje JavaScript no permite las definiciones anidadas de funciones.
El paso de parámetros se realiza por valor. Es decir, si una función modifica el
contenido de sus argumentos, esta modificación es local y no repercute ni
globalmente ni a la función que llama.
Las funciones predefinidas por el lenguaje.
La función eval.
La función eval tiene como argumento una expresión y devuelve el valor de la
misma. Esta función resulta útil para evaluar una cadena de caracteres que
representa una expresión numérica. La edición efectuada mediante un campo de
formulario es una cadena de caracteres que a veces es necesario convertir en
valor numérico. El código siguiente ilustra este ejemplo permitiendo al usuario
introducir una expresión numérica y visualiza a continuación el valor de la
expresión.
<SCRIPT>
function calcula(obj)
{
obj.result.value = eval(obj.expr.value)
} </SCRIPT>
<FORM NAME="evalua">
Introducir expresión:
<INPUT TYPE="text" NAME="expr" SIZE=20> <br>
Resultado: <INPUT TYPE="text" NAME="result" SIZE=20><br>
<INPUT TYPE="button" VALUE="evalua" onClick="calcula(this.form)">
</FORM>
La función isNaN.
Función que comprueba si el valor pasado por parámetros es númerico o no. El
resultado de esta función es un booleano. Es decir, evalúa un argumento para
ver si es NaN: Not Number.
isNaN(valor de entrada)
Ejemplo
<SCRIPT>
function Comprueba(form)
{
var number = parseFloat(form.valor.value);
if (isNaN(number)==true)
alert("No es numérico");
else form.valor.value = number;
alert("Es numérico");
}
</SCRIPT> ...
<form>
Introducir un valor numérico: <input type="text" name="valor"><br>
<input type="button" value=" Comprobar "
onClick="Comprueba(this.form)"> </form>
ARCHIVOS DE CÓDIGO JAVASCRIPT
El atributo SRC del código SCRIPT del lenguaje HTML permite especificar un
archivo que contiene el código JavaScript (en lugar de incrustar el código
JavaScript en el documento HTML).
Por ejemplo:
<HEAD>
<SCRIPT SRC="comun.js"> ...
</SCRIPT> </HEAD> <BODY> ...
Este atributo es especialmente útil para compartir funciones entre numerosos
documentos HTML.
Las sentencias JavaScript del interior de un código <SCRIPT SRC= ... > se
ignoran a menos que la inclusión cause un error.
Se incluye una sentencia que muestre un mensaje de error en caso de no poder
cargar el archivo de código.
Por ejemplo: <script src="http://www.mienlace.es/funciones/funcion1.js">
Los archivos JavaScript externos solo pueden tener código JavaScript y ninguna
sentencia HTML.
CLIENTES QUE NO SOPORTAN JAVASCRIPT
<SCRIPT LANGUAGE="JavaScript">
</SCRIPT>