COURS JavaScript


Accueil | Elements de base du langage JavaScript : Les fonctions

Les fonctions



Généralités

Comme nous l'avons déjà vu, un programme est une suite d'instructions que l'ordinateur (par l'intermédiaire de l'interpréteur JavaScript) est chargé d'exécuter pour accomplir une tâche bien précise : ce que nous avons décidé de lui faire faire.
Une instruction, à elle seule, réalise rarement beaucoup de choses.
Elle affecte une valeur à une variable, elle peut effectuer des opérations élémentaires, opérer des choix en fonction de la valeur vrai ou faux d'une proposition ou d'une situation, mais si nous ne pouvions utiliser qu'une seule instruction, nous ne pourrions pas faire grand chose.
JavaScript, permet de regrouper plusieurs instructions (autant que l'on veut) dans ce que l'on appelle des "Fonctions".

Une fonction, devient alors un petit (ou gros) programme à lui seul, capable d'exécuter un groupe d'instructions qui,  agissant ensemble, réalisent une tâche plus ou moins complexe.

On peut, dans un premier temps, comparer une fonction à un bon petit employé (ouvrier ou cadre)  bien consciencieux, qui, dès qu'on l'appelle, se met à faire très exactement ce pour quoi il a été créé. Mais rien d'autre.

Nous aurons alors affaire à deux types de bons petits employés.

1) Ceux qui peuvent travailler sans qu'on leur donne quoi que ce soit de supplémentaire. Ils ont leurs propres outils, leurs propres données, et ils font ce qu'ils doivent faire tout seuls. Ils savent tout seuls aller chercher ce dont ils ont besoin là où on leur dit d'aller le chercher.

Par exemple :
Un ouvrier sur un chantier, chargé de transporter du sable dans une brouette, d'un tas de sable vers la bétonneuse.
Chaque fois qu'on le réveille, il va remplir sa brouette de sable et le transporte vers la bétonneuse. Il a tout ce qu'il faut. Sable, brouette, etc...

Traduit en terme de fonction, on dira que cette fonction est indépendante. Elle n'a besoin d'aucun paramètre. elle sait tout faire toute seule. Mais rien que ça, et rien d'autre. Inutile d'espérer qu'elle transporte autre chose que du sable, elle ne sait pas faire.

2) Ceux à qui il faut donner du grain à moudre.
Ceux-là ne savent que faire la tâche qu'on leur demande, mais il faut leur donner le matériau.

Par exemple :
Le collègue du premier ouvrier, mais il ne sait que porter quelque chose dans sa brouette d'un point à un autre.
Mais il n'a rien à transporter, et il ne sait pas d'où vers où. Il faut tout lui dire. Lui indiquer le point de départ, le point d'arrivée, et lui donner aussi le matériau à transporter.

Traduit en terme de fonction, on dira que pour agir efficacement, cette fonction a besoin qu'on lui transmette trois paramètres. Le point de départ, le point d'arrivée, le matériau à transporter. Si on oublie un seul des paramètres, tout va de travers.



Ecriture des fonctions

En JavaScript, une fonction aura la forme suivante :

function Nom_de_la_fonction (paramètre_1, paramètre_2) {

instruction_1; instruction_2;
instruction_3;

}

Le mot function est un mot réservé de JavaScript. Il indique à l'interpréteur JavaScript que tout ce qui suit est une fonction qui portera le nom Nom_de_la_fonction.

Nom_de_la_fonction, est le nom que le programmeur aura donné à sa fonction. Les contraintes de nommage des fonctions sont les mêmes que celles qui régissent les noms de variables. Là encore, il est raisonnable de donner aux fonctions des noms représentatifs des tâches qu'elles accomplissent.

(paramètre_1, paramètre_2) entre parenthèses, représentent les paramètres que l'on doit transmettre à la fonction si celle-ci est programmée pour travailler à partir de paramètres transmis. Cas de l'ouvrier numéro deux des généralités. Les parenthèses sont obligatoires.
Si la fonction est prévue pour fonctionner toute seule, sans transmission de paramètre (cas de l'ouvrier numéro un des généralités), on laissera les parenthèses, mais en les collant l'une à l'autre : "()". Les deux parenthèses collées, "()", l'une ouvrante, l'autre fermante derrière le nom de la fonction, sont obligatoires.

L'accolade ouvrante "{" (obtenu en maintenant appuyé la touche "Alt Gr" du clavier et en appuyant sur la touche "4" en haut du clavier, pas sur le pavé numérique), signifie à l'interpréteur le début de la zone des instructions dans la fonction.
 
 
Cette accolade ouvrante, comme son homologue fermante en fin de fonction, sont ABSOLUMENT OBLIGATOIRES toutes les deux. Les omettre, planterait gravement le système. Ou tout au moins le programme. Soyez très attentifs à ces petits détails...

instruction_1; instruction_2;
instruction_3; sont les instructions que le programmeur écrira pour que la fonction les exécutent lorsqu'on fera appel à elle.

L'accolade fermante "}" (obtenu en maintenant appuyé la touche "Alt Gr" du clavier et en appuyant sur la touche "+" en haut du clavier, pas sur le pavé numérique), signifie à l'interpréteur la fin de la fonction en question.
 



Emplacement des fonctions dans le programme

Dans le programme, les fonctions seront toujours entre les deux balises :
 

<script language="JavaScript">

Emplacement des fonctions

</script>

Si bien que notre squelette de page HTML avec fonctions JavaScript, prendra la forme suivante :

<html>

     <head>
     <title> .......... </title>

     <script language="JavaScript">
     // déclaration des variables
    var MonPoids
    var monPrenom

    // début des fonctions
    function Nom_de_la_fonction (paramètre_1, paramètre_2) {

    instruction_1; instruction_2;
    instruction_3;

    }

     </script>

     </head>

<body>

</body>
</html>
 
 



Ce cours est enseigné par Philippe Médan 
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC , 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01 40 40 36 27
au CESI à l'Ecole des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX Tél. : 01 45 36 70 00
au CFA-AFIA Centre de Formation par l'Apprentissage spécialisé en Informatique DUT Licence MIAGE,
PUIO - Bâtiment 640 - Plateau du Moulon - 91405 Orsay Tél. : 01 69 15 35 19.

© Philippe Médan 1999-2007. Tous droits de reproduction réservés pour tous pays.