|
Habitualmente
cuando quieres ejecutar un programa basta con buscar el archivo
correspondiente y hacer un doble click de ratón
o pulsar la tecla enter. ¿Pero que pasa con los programas en JavaScript?.
En los ejemplos que has escrito en los apartados anteriores has enviado
instrucciones
en javascript al navegador, le has dado órdenes en directo. Pero esta no
es la forma habitual de ejecutar programas en JavaScript.
Lo normal es que la
ejecución se realice de forma automática cuando el navegador carga una página,
o cuando el usuario pasa el ratón por una imagen, o cuando pulsa el botón
de un formulario, etc. Estos cambios provocan los llamados eventos que
son recibidos por el navegador, que reaccionará en la forma adecuada:
si haces click en un hiperenlace se genera
un evento y el navegador abre una
nueva página. Esos eventos son los que se aprovechan para que se ejecuten
las instrucciones que nosotros escribimos en JavaScript.
A cada evento se
le puede asociar una función para
que haga algo predeterminado por nosotros. Por ejemplo cuando el navegador
carga una página se produce un
evento que puede aprovecharse para hacer
que se abra otra ventana (las conocidas
como ventanas popup tan usadas para mensajes publicitarios), o cuando pasamos
el ratón por una enlace se produce otro evento que
puede aprovecharse para
llamar a una función que modifique
el color en que se muestra el enlace, o cuando el usuario pulsa una
tecla. Los eventos tienen la naturaleza
de objetos,
o sea, poseen métodos y propiedades. Así cuando
se produce un evento podemos saber quien lo
dispara, en que posición de la pantalla se ha disparado y
otras propiedades dependientes de cada evento en concreto. Y aquí viene
uno de las causas para tus futuros dolores de cabeza: cada
navegador maneja los
eventos de manera algo diferente, aunque el imparable Linux arrastra
el relanzamiento de mozilla y su política de standarización.
Pero sigamos con el tema de la ejecución de los programas,
veamos que es eso del flujo de programa.
Cuando el navegador empieza a leer el script para ejecutarlo
lo hace en orden secuencial, o
sea, empieza
con
la
primera instrucción, sigue por la segunda y así hasta llegar al final.
Esto es lo que se conoce como ejecución secuencial o lineal.
Pero a veces es necesario saltarse instrucciones, por ejemplo, construyes
una página a
la que sólo pueden entrar determinadas personas, deberás escribir una
función
que pida el nombre de quien desee ver la página, si
es una persona autorizada muestra la página y si
no lo es no la muestras. Tu programa no ha seguido
un flujo lineal, unas veces ejecutará la parte de mostrar la página y
otras no. Otra situación bastante común: deseas que tu
programa recorra todas las imágenes de tu página y vaya
cambiando su contenido, no vas a escribir el mismo código una
y otra vez, lo ideal sería
escribir las instrucciones y poderlas repetir. Cualquier lenguaje de
programación
tiene solucionado este asunto mediante las llamadas sentencias
de control del flujo de programa. Son sentencias que permiten que se ejecuten condicionalmente algunos pasos (condicionales) o repetir una serie de instrucciones una
y otra
vez (bucles).
Todas estas instrucciones la vamos a ir viendo en capítulos posteriores,
ya con ejemplos y probando cositas.
|