Академический Документы
Профессиональный Документы
Культура Документы
prompt( ), confirm( ) y
alert( ) (cabe recordar que los mtodos son, en definitiva, funciones asociadas a objetos).
SINTAXIS
Al igual que todas las estructuras de JavaScript, para crear nuestra primera funcin tenemos que
respetar una sintaxis, para que el programa agregue la misma a su librera de cdigo disponible.
Un funcin se declara con la palabra reservada function, seguida por el nombre que tendr la
misma, un juego de parntesis (ms adelante en este mismo documento veremos la utilidad de los
mismos) y entre apertura y cierre de llaves todo el cdigo que se ejecutar cada vez que se solicite
la funcin.
Por ejemplo, si queremos hacer una funcin que muestre el mensaje 'hola a todos' podramos
ponerle el nombre saludar y crearla de la siguiente manera:
function saludar() {
document.write( 'Hola a todos' ) ;
}
Es bueno tener presente que esto es solo la declaracin de la funcin, la funcin est en memoria a
la espera de ser utilizada por nuestro programa.
Si ejecutamos en este momento el cdigo que hemos escrito, no tendremos ninguna salida impresa
en el HTML, dado que nos falta ejecutar (o invocar) al cdigo escrito, esto se hace simplemente con
el nombre de la funcin seguido por los parntesis:
Prof. Germn Rodrguez german.rodriguez@davinci.edu.ar
Programacin I
01. Funciones I - Creacin y uso
saludar(); //esto mostrar en pantalla 'Hola a todos'
Los nombres de la funciones respetan las mismas restricciones que los nombre de variables (son
case sensitive, no pueden empezar con nmeros, no pueden tener espacios, ni guin del medio, etc).
El cdigo encerrado dentro de las llaves de una funcin, no es otra cosa que JavaScript comn y
corriente, tal como viene escribindolo desde el cuatrimestre anterior. Por lo cual una funcin puede
tener adentro peticiones y muestras de datos (prompt, confirm, alert, document.write), operacin de
variables (comparaciones, concatenaciones, sumas, restas, etc.), estructuras de toma de decisiones
(if, switch), estructuras iterativas (for, for in, do, while) e incluso declaraciones o llamadas a otras
funciones pre-existentes.
Dado que las funciones se comportan como variables, tambin es posible declarar
una funcin con la siguiente sintaxis:
Programacin I
01. Funciones I - Creacin y uso
nombre, tambin estaremos modificndola por fuera, dado que ese estado global es tanto para la
lectura como para la escritura.
Programacin I
01. Funciones I - Creacin y uso
Queda claro, entonces, que toda variable definida por fuera de una funcin existe por carcter
hereditario dentro de una funcin, pero una variable creada por dentro de una funcin deja de
existir cuando la funcin termina su ejecucin.
Podramos decir, entonces, que las funciones se ejecutan en una capa propia, ajena al desarrollo del
programa principal, que se nutre de todos los recursos que el programa pueda brindar, pero no deja
sus propios recursos al programa base.
Un comportamiento interesante radica en las variables declaradas dentro de una funcin privadas
que, al mismo tiempo, existen por fuera de la misma globales.
En estos casos particulares, dado que la palabra reservada var dentro de una funcin genera una
variable propia de la funcin, la variable que est por fuera y la variable que est por dentro de la
funcin son dos datos distintos.
Programacin I
01. Funciones I - Creacin y uso
A diferencia de las rutinas que vienen desarrollando hasta ahora, el cdigo no se ejecutar en el
mismo momento que se carga el script, sino nicamente cuando se detecte el evento esperado.
Un evento, entonces, es una respuesta que ofrece el navegador ante determinada accin o situacin.
En algunos casos esta accin la dispara el usuario, interactuando con el mismo documento HMTL
(por ejemplo: hacer click en una foto o seleccionar una opcin de una etiqueta SELECT) o puede ser
una respuesta misma del navegador (por ejemplo: cuando una imagen no se puede cargar y dispara
un evento de tipo error).
En este documento nos vamos a concentrar en hacer funciones que se ejecuten a pedido del usuario
detectando el click sobre el elemento deseado.
Tenemos dos maneras de asociar uno o ms eventos a una etiqueta HTML:
1. Desde el mismo cdigo en JavaScript (se ver ms adelante en la cursada).
2. Como un atributo de la misma etiqueta HTML.
Como atributo del HTML los eventos son todos los que empiezan con el prefijo ON (onclick,
onmouseover, onblur, onfocus, onload, onerror, etc.).
Cuando a una etiqueta le asignamos un evento, HTML nos permite escribir entre las comillas TODO
EL CODIGO JAVASCRIPT que deseemos, siempre que respetemos la sintaxis del lenguaje.
Claro est que hacer algo como sto es un poco desprolijo (y en cierto punto, inentendible):
Programacin I
01. Funciones I - Creacin y uso
Y luego en algn lugar del HTML ejecutaramos cada funcin en el evento que nos interesa detectar.
LISTADO DE EVENTOS
A continuacin se deja un listado de los eventos que existen en el HTML, as como la etiqueta a la
cual se puede asignar dicho evento y en qu instancia (del usuario o del navegador) se dispara.
Programacin I
01. Funciones I - Creacin y uso
MANEJADOR
ETIQUETAS APLICABLES
SE PRODUCE CUANDO...
onabort
Image
onblur
onchange
onclick
ondblclick
document, Link
ondragdrop
window
onerror
Image, window
onfocus
onkeydown
onkeypress
onkeyup
onload
onmousedown
onmousemove
onmouseout
Layer, Link
onmouseover
Layer, Link
onmouseup
onmove
window
onreset
Form
onresize
window
onselect
Text, Textarea
onsubmit
Form
onunload
window