Beruflich Dokumente
Kultur Dokumente
Conceptos Basicos.
Variables
Javascript ofrece dos ambitos para las variables, el global y el local.
function creaMensaje() {
var mensaje = Mensaje de prueba;
}
creaMensaje();
alert(mensaje);
Este codigo no se mostrara ningun mensaje ya que la variable definda es local para la
funcion, y nosotros tratamos de accederla de forma global.
Todas las variables creadas en el ambito local son declaradas en el objeto window del
navegador.
Funciones
Las funciones en JavaScript se definen mediante la palabra reservada function, seguida del
nombre de la funcin. Su definicin formal es la siguiente:
function nombre_funcion() {
...
}
El nombre de la funcin se utiliza para llamar a esa funcin cuando sea necesario. El
concepto es el mismo que con las variables, a las que se les asigna un nombre nico para
poder utilizarlas dentro del cdigo. Despus del nombre de la funcin, se incluyen dos
parntesis cuyo significado se detalla ms adelante. Por ltimo, los smbolos { y } se utilizan
para encerrar todas las instrucciones que pertenecen a la funcin (de forma similar a como
se encierran las instrucciones en las estructuras if o for).
Aunque casi siempre se utilizan variables para pasar los datos a la funcin, se podra
haber utilizado directamente el valor de esas variables: suma_y_muestra(3, 5);
El nmero de argumentos que se pasa a una funcin debera ser el mismo que el
nmero de argumentos que ha indicado la funcin. No obstante, JavaScript no
muestra ningn error si se pasan ms o menos argumentos de los necesarios.
El orden de los argumentos es fundamental, ya que el primer dato que se indica en la
llamada, ser el primer valor que espera la funcin; el segundo valor indicado en la
llamada, es el segundo valor que espera la funcin y as sucesivamente.
Se puede utilizar un nmero ilimitado de argumentos, aunque si su nmero es muy
grande, se complica en exceso la llamada a la funcin.
No es obligatorio que coincida el nombre de los argumentos que utiliza la funcin y
el nombre de los argumentos que se le pasan. En el ejemplo anterior, los argumentos
1
que se pasan son numero1 y numero2 y los argumentos que utiliza la funcin son
primerNumero y segundoNumero.
Eventos Javascript
2
onmouseup Soltar el botn que estaba pulsado Todos los elementos
en el ratn
3
document.getElementById("pinchable").onclick = muestraMensaje;
// Elemento XHTML
<input id="pinchable" type="button" value="Pinchame y vers" />
Formularios
Una de las formas para acceder a los formularios es la siguiente:
document.forms[0];
La ventana del navegador, tiene un objeto llamado document, con un array de los
formularios, por lo que se p uede acceder por el numero de indice, empezando con 0.
Para acceder a los elementos bastar con poner:
document.forms[0].elements[0];
Otros conceptos de javascript.
Closures
Las clausuras (en ingls closures) son una extensin del concepto de alcance (scope)
funciones que tienen acceso a las variables que estn disponibles dentro del mbito en
donde se cre la funcin.
//inicio closure
function paddingLeft (quantity, fillchar) { //funcin externa
quantity = quantity || 2;
fillchar = fillchar || "0";
4
Funciones Autoejecutables
// Esta funcion se ejecuta a si misma recursivamente
// Esta podria ser una funcion de auto ejecucion anonima, pero solo cuando referencia a foo,
si se cambia el nombre ya no funciona.
var foo = function() { foo(); };
5
Creando un paquete simple.
return {
get: function(){
return i;
},
set: function( val ){
i = val;
},
increment: function() {
return ++i;
}
};
}());
contador.get(); // 0
contador.set( 3 );
contador.increment(); // 4
contador.increment(); // 5
contador.i; // undefined
i; // ReferenceError: i is not defined
6
Construccion de una clase.
Con esta sentencia ya estamos creando una clase, si bien es una funcion la interpretacion de
javascript permite que sea tratada como una clase.
function Clase(){}
por lo que se puede instanciar de esta forma:
var obj = new Clase();
7
Declaracion de Modulo
Una de las formas de declarar un modulo y hacerlo global es la siguiente
var MiModulo = (function(){
var my = {};
var variablePrivada = 1;
function funcPrivada() {
}
my.propiedad = 1;
my.sumar = function (){
}
return my;
}());
En esta declaracion vamos a crear un modulo llamado MiModulo que cuenta con una
funcion privada y un atributo privado. Pero tambien tiene una propiedad y funcion publicas.
Nos permite escribir objetos javascript de una forma ligera y facil de interpretar. Se suele
utiilizar para el intercambio de datos.
var personas = {
u1: { nombre: "Carlos", pais: "Argentina" },
8
u2: [{ nombre: "Martin", pais: "Argentina" }, { apellido: "Garcia" }]
};
Referencias:
http://librosweb.es/libro/javascript/
http://librosweb.es/libro/fundamentos_jquery/