SELFHTML/Quickbar
JavaScript
Éléments du langage
![]() |
Fonctions |
![]() |
|
![]() |
Avec l'aide de fonctions, vous pouvez programmer vos propres procédures JavaScript autonomes que vous pouvez ensuite exécuter par l'appel de la fonction. Pour cela vous pouvez spécifier lors de quel évènement la fonction doit être appelée et son code programme exécuté (par exemple lorsque l'utilisateur clique un bouton). Le code JavaScript qui ne se trouve pas dans une fonction est exécuté immédiatement par le navigateur WWW à la lecture du fichier!
Une fonction est un bloc
d'instructions. Vous pouvez définir vos propres fonctions dans
un
passage
JavaScript ou dans un
fichier
JavaScript séparé. Aux endroits autorisés, par exemple dans le
repère d'ouverture HTML <body...> et <a href...>,
ou un repère de formulaire comme <input...>, vous pouvez alors
appeler de telles fonctions définies vous-mêmes à l'aide d'un
Event-Handler.
Ou bien vous appelez une fonction depuis une autre fonction.
function nombrepremier(nombre) { var nombrelimite = nombre/ 2; var Check = 1; for(i = 2; i <= nombrelimite ; i++) if(nombre% i == 0) { alert(nombre+ " n'est pas un nombre premier parce qu'il est divisible par " + i); Check = 0; } if(Check == 1) alert(nombre+ " est un nombre premier!"); } </script> |
Avec le mot clé function vous introduisez la définition
d'une fonction. Derrière suit, séparé par un espace, un nom de fonction que
vous choisissez - dans l'exemple: nombrepremier. Affectez un nom de
fonction qui décrit à peu près ce que la fonction fait. Respectez en ce faisant
les règles pour les noms
attribués par vous.
Juste derrière le nom de la fonction s'ouvre une parenthèse. Si la fonction ne doit pas attendre de paramètres, la parenthèse doit être refermée aussitôt. Si la fonction doit recevoir des paramètres, notez entre les parenthèses le nom des paramètres. Les noms des paramètres peuvent être librement choisis. Pour les noms de paramètres s'appliquent les mêmes règles que pour les noms de fonction. Plusieurs paramètres doivent être séparés par des virgules. Dans l'exemple ci-dessus, la fonction nombrepremier attend un paramètre nombre.
Tout le contenu de la fonction doit être placé dans des parenthèse accolade { et } (touches Alt 123 et Alt 125). N'ommettez jamais ces parenthèses!
Les instructions dans la fonction peuvent être de natures très diverses.
Vous pouvez par exemple y manipuler des objets,
traiter et modifier les paramètres transmis, faire des calculs etc... Vous
pouvez également appeler, à l'intérieur de fonctions, d'autres fonctions.
Quelles instructions se trouvent dans une fonction, dépend de ce que doit faire
la fonction. Dans l'exemple ci-dessus il est recherché si le nombre transmis est
un nombre premier. Si ce n'est pas un nombre premier, une annonce
correspondante apparaîtra pour chaque nombre par lequel il est divisible. Si
c'est un nombre premier, une annonce signalera qu'il s'agit d'un nombre premier.
![]() ![]() |
Vous pouvez appeler une fonction définie vous-même pour exécuter le code JavaScript qu'elle contient.
<html> <head> <title>Vérifier un nombre s'il est premier</title> <script language="JavaScript"> <!-- function nombrepremier(nombre) { var nombrelimite = nombre/ 2; var Check = 1; for(i = 2; i <= nombrelimite ; i++) if(nombre% i == 0) { alert(nombre + " n'est pas un nombre premier parce qu'il est divisible par " + i); Check = 0; } if(Check == 1) alert(nombre + " est un nombre premier!"); } //--> </script> </head> <body> <form name="formnombrepremier"> Entrez un chiffre il va être vérifié s'il est premier:<br> <input type=text name="nombreentre"> <input type=button value="Est-ce un nombre premier?" onClick="nombrepremier(document.formnombrepremier.nombreentre.value)"> </form> </body> </html> |
L'exemple ci-dessus montre un fichier HTML complet où un passage
JavaScript est défini. La fonction nombreentier() y est
définie. Dans le corps du fichier HTML se trouve un formulaire avec un champ de
saisie et un bouton. Dans le champ de saisie, l'utilisateur peut entrer un
chiffre. S'il clique sur le bouton, la fonction JavaScript est appelée et
recherche si le nombre entré est un nombre entier. Pour cela, le bouton
contient l'
Event-Handler onClick= (=
en cliquant). Derrière, la fonction JavaScript est appelée avec le
nombre entré.
Vous appelez la fonction avec le nom de la fonction. Derrière une parenthèse est ouverte. Si la fonction n'attend pas de paramètre, refermez tout de suite la parenthèse. Si la fonction attend un paramètre vous devez transmettre pour chaque paramètre une valeur permise.
![]() ![]() |
Une fonction peut renvoyer une valeur recherchée à l'instance qui l'appelle.
<html> <head> <title>Calculer le montant brut d'après le montant net</title> <script language="JavaScript"> <!-- function montantbrut(Net, pourcent) { var resultat = Net * (1 + (pourcent/ 100)); return resultat ; } function donnebrut(montant, pourcent) { var valeur; valeur= montantbrut(montant, pourcent); document.formbrut.champresultat.value = valeur; } //--> </script> </head> <body> <form name="formbrut"> Montant net: <input type=text name="montantnet"><br> Pourcentage: <input type=text name="pourcentage"><br> <p>Entrez les chiffres décimaux avec un point!</p> <input type=button value="Calculer le brut" onClick="donnebrut(document.formbrut.montantnet.value,document.formbrut.pourcentage.value)"> <p> resultat : <input type=text name="champresultat"> </form> </body> </html> |
L'exemple ci-dessus montre un fichier HTML complet dans lequel est défini
un passage
JavaScript. Dans celui-ci sont définies deux fonctions montantbrut(...)
et donnebrut(...). Dans le corps du fichier HTML se trouve un
formulaire avec un champ de saisie pour le montant net et un autre pour le
pourcentage. Quand l'utilisateur clique sur le bouton défini au dessous, la
fonction donnebrut (...) est appelée. Elle appelle elle
même la fonction montantbrut(...).
Étant donné que la fonction montantbrut(...) renvoie le
résultat calculé à l'instance qui l'a appelée, une variable
du nom de valeur est définie dans donnebrut(...) et dans
laquelle la valeur renvoyée est sauvegardée. Le résultat sauvegardé dans
cette variable est écrit par la fonction dans un champ installé à cet effet
dans le formulaire: le champ de saisie du nom de champresultat.
![]() ![]() |
Il existe quelques fonctions qui sont déjà intégrées dans JavaScript. Ces fonctions peuvent être appelées sans que vous ayez à les définir vous-même.
<html> <head> <title>Calculer le montant brut d'après le montant net</title> <script language="JavaScript"> <!-- function Simple() { var resultat = eval("1+1"); alert("1 + 1 = " + resultat); } //--> </script> </head> <body> <a href="javascript:Simple()">Combien font 1+1?</a> </body> </html> |
L'exemple ci-dessus montre un fichier HTML complet. Y est défini un passage
JavaScript, dans lequel une fonction Simple() est définie.
Dans le corps du fichier HTML se trouve un lien. En cliquant sur ce lien, la
fonction est appelée. Elle renvoie le résultat de 1+1 dans une boite de
dialogue. Pour le calcul du résultat la fonction standard JavaScript eval(...)a
été appelée (eval = evaluate = calcule).
La syntaxe pour appeler des fonctions JavaScript dans des liens est
approfondie dans les Event-Handler.
Une vue d'ensemble de toutes les fonctions Standard JavaScript se trouve dans
la partie fonctions
indépendantes de l'objet.
![]() | |
après:![]() |
![]() |
avant:![]() |
![]() |
SELFHTML/Quickbar
JavaScript
Éléments du langage
Serge François, 13405@free.fr