ABCSITE

INFORMATIQUE

 
 
 

 
 

 JavaScript 

 

I. Introduction au langage JavaScript
   

       1. Généralités

Javascript est un langage de programmation très récent, créé par les sociétés Netscape et Sun Microsystems vers la fin de l'année 1995.
Son objectif principal : introduire de l'interactivité avec les pages HTML, et effectuer des traitements simples sur le poste de travail de l'utilisateur.

Le moyen : introduire de petits programmes, appelés SCRIPTS, dans les pages HTML. J'usqu'ici la programmation ne pouvait être exécutée que sur le serveur. La possibilité d'inclure des programmes dans les pages HTML et de les exécuter directement sur le poste client est intéressante, car elle permet de décharger le serveur de ce travail et… d'éviter les attentes des réponses aux requêtes adressées via le Réseau.

Le code du programme est interprété par le navigateur client (qui reçoit la page). Il ne peut pas être exécuté indépendamment, ce qui le limite comme langage de programmation, contrairement à JAVA (à ne pas confondre !).

C'est un langage basé sur des objets, très simple et conçu, en principe, pour des non spécialistes.
En résumé, voici ses principales caractéristiques :

· JS est un langage de programmation structuré qui concourt à enrichir le HTML, à le rendre plus " intelligent " et interactif.
· Le code JS est intégré complètement dans le code HTML, et interprété par le navigateur client.
· JS contient des gestionnaires d'évènement : il reconnaît et réagit aux demandes de l'utilisateur, comme un clic de la souris, une validation de formulaire, etc…

Mais c'est un langage limité :

· ce n'est pas un langage de programmation à part entière, indépendant
· c'est un langage de script, dépendant de HTML, c'est une extension de HTML. Sa syntaxe ressemble à Java, car elle reprend celle du langage C, mais il est en fait très différent. Java est un langage complet, compilé et complètement autonome du langage HTML
· ce n'est pas véritablement un langage orienté objet (pas d'héritage de classe, ni de polymorphisme..)

  2. ÉCRITURE ET EXÉCUTION DU CODE JS

On peut placer du code JS dans une page HTML à 3 endroits et sous des formes bien différentes.

1. Entre les balises SCRIPT … /SCRIPT dans la section d'en-tête, ou dans le corps de la page.

<HEAD>
<SCRIPT LANGAGE = " JavaScript ">
…code
//code : instructions, déclarations de fonctions, etc...
</SCRIPT>
</HEAD>


· Le code inclus dans la séquence <SCRIPT> est évalué au début du chargement de la page
· S'il est inclus dans la section <HEAD>, il n'est pas exécuté tout de suite.
· Par contre, s'il fait partie du corps du document, il est immédiatement exécuté en même temps que le code HTML est interprété.
· Il est nécessaire d'inclure les déclarations de fonctions dans la section <HEAD> .. </HEAD>. En effet, les fonctions doivent être connues dès le chargement du document, mais ne doivent être exécutées que lors d'un appel explicite de l'utilisateur, le plus souvent en réponse à un évènement (voir ci-dessous).

2. Associé à une balise HTML qui gère un évènement


Le code JS est généralement inséré sous forme d'un appel de fonction, 
affecté à un gestionnaire d'événement qui apparaît comme un nouvel 
attribut d'un composant de formulaire
L'exécution du code est alors provoquée par appel d'une fonction JS 
(préalablement déclarée) dont l'exécution constitue une réponse à 
l'évènement.
Un évènement survient à l'initiative de l'utilisateur, par exemple en 
cliquant sur un bouton, ou après la saisie du texte dans un champ de 
formulaire.

Ecriture générale

 

<Balise… onEvenement= "code JS" |" fonction JS">




* Balise est le nom de certaines balises, souvent des composants de formulaire.

* onEvenement est un nouvel attribut de la balise.

* Bien entendu il faut connaître les associations entre évènements et balises " sensibles " à ces évènements.

Ici on peut voir les correspondances entre les balises et les événements

   Exemple

Le code HTML suivant crée un bouton de nom " bouton1 ", sur lequel est écrit 

 " calculer ".

Quand l'utilisateur appuie sur ce bouton, l'évènement onClick est déclenché et la fonction calculer () est appelée.
Son code, déclaré dans l'en-tête est alors exécuté

 

<HTML>
<HEAD>
<SCRIPT langage="JavaScript">
Function calculer() {
…//code….
}
</SCRIPT>
</HEAD>

<BODY>
<FORM>
<INPUT TYPE="button" VALUE="Calculer"
onClick="calculer()">

</FORM>
</BODY>
</HTML>


3. Associé au pseudo-protocole javascript : dans une URL


Cette pseudo-URL permet de lancer l'exécution d'un script écrit en JS, au 
lieu d'être une requête pour obtenir un nouveau document (comme avec 
les protocoles habituels http : , ftp : )

Ecriture générale

 

<A HREF="JavaScript :code JS" |" appel fonction JS"> texte/ image activable< /A>


L'opérateur void
Pour empêcher que le code ou la fonction appelée dans l'URL JavaScript, ne remplace le document courant, on applique l'opérateur void, qui neutralise toute valeur ou tout effet de retour.

 

<A HREF="JavaScript :void (appel-fct(..))" ….< /A>


Exemple

 

<HTML>
<HEAD>
<SCRIPT langage="JavaScript">
Function calculer() {
….//code….
}
< /SCRIPT>
</HEAD>
<BODY>
……
<A HREF="JavaScript : calculer()"> Pour calculer </A>
……
< /BODY>

 


a) Quelques remarques

- JS fait la distinction entre majuscules et minuscules, contrairement aux balises HTML.
C'est une source fréquente d'erreur.

- Pour comprendre le code, inclure des commentaires abondants :
// pour une simple ligne de commentaires
/*…..*/ pour les encadrer sur plusieurs lignes.

- Quand on ne définit pas de fonctions, on peut inclure le code directement dans la section <BODY>


- On peut (depuis Netscape 3) placer le code dans un fichier spécifique d'extension

       .JS : 
<Script language= JavaScript src=source.js>
</Script>
Où source js doit être un fichier accessible au moment de l'exécution, dans le répertoire courant ou à une adresse URL précisée.
Un tel fichier externe permet de réutiliser le code dans de multiples pages, sans avoir à l'inclure dans le source.

b) Exemple-résumé

 

<Html>
<Head>
<Script>
Function saluer() {
Alert("Bonjour tout le monde!") ;
}
</script>
</head>

<body>
<H4> Exécution immédiate </ H4>
<script>
Alert ("Bonjour tout le monde !") ;
</script>
<H4> Exécution sur évènement onClick </H4>
<Form>
<Input type ="button" name="Bouton1" value="Salut" onClick="saluer()">
</form>
<H4> Exécution sur protocole javascript : </H4>
<A HREF =" javascript : saluer()"> pour saluer </a>
</body>
</html>

 
 

ABCSITE © copyright 2002