Les procédures et fonctions

Déclaration de procédure ou fonction

Le JavaScript fournit un certain nombre de procédures et fonctions mais le programmeur peut créer les siennes.

Syntaxe commune :

nomProcedure ( [ nomParametre [ , nomParametre ]... ] ) bloc d'instructions

On rappelle qu'un bloc d'instructions est une série d'instructions entre accolades.

Les noms de paramètres sont exploités par les instructions dans le bloc d'instruction et ne sont pas accessibles à l'extérieur de ce bloc.

Un appel de procédure est une instruction alors qu'un appel de fonction peut être cité dans une expression. Par conséquent, une fonction doit fournir une valeur au retour dans le programme appelant.

Syntaxe instruction de retour fonction :

return expression ;

Une instruction return peut être placée n'importe où dans une fonction mais elle termine son déroulement.

Veillez à ce que toutes les branches d'une fonction se terminent par return. Le mieux est de placer cette instruction à la fin de la fonction.

Une procédure n'a pas besoin de return.

Exemples :

Déclaration d'une fonction de calcul du cube d'un nombre :

  function cube (x)
  {
    return x*x*x;
  }

Déclaration d'une procédure d'envoi d'un message d'alerte personnalisé :

  function bienVnu(titre, nom)
  {
    alert("Bienvenue à " + titre + " " + nom + " !");
  }

Variables internes aux procédures et fonctions

Les variables internes à une procédure ou une fonction (c'est à dire non visibles des autres procédures et fonctions) sont les paramètres d'appel et les variables déclarées à l'aide du mot-clé var dans le bloc d'instructions de la procédure.

Les variables déclarées implicitement à leur première affectation (donc sans mot-clé var) sont des variables communes. Il faut bien prendre garde aux effets pervers de cette facilité d'écriture offerte par JavaScript. Nous y reviendrons.

Instruction d'appel de procédure

Un appel de procédure est une instruction. Pour appeler une procédure on cite son nom suivi de la liste des paramètres d'appel - ou «arguments» - entre parenthèses séparés par des virgules. S'il n'y a aucun argument il faut quand même mettre les parenthèses (vides).

Syntaxe :

nomProcedure ( [ parametre [ , parametre ]... ] );

Les paramètres sont des expressions. S'il n'y a pas de paramètre, les parenthèses doivent être néanmoins présentes. Chaque paramètre correspond au nom de paramètre de même position dans la déclaration de la procédure (voir plus haut).

Exemples :

Utilisation de la procédure d'envoi d'un message d'alerte de l'exemple plus haut :

  bienVnu("M", "Dupont"); // message d'alerte : Bienvenue à M Dupont !
bienVnu("Mme", "Duval"); // message d'alerte : Bienvenue à Mme Duval !

Expression d'appel de fonction

Un appel de fonction est une expression. Sa syntaxe est la même que celle d'un appel de procédure.

Exemples :

Utilisation de la fonction de calcul du cube d'un nombre de l'exemple plus haut pour déterminer la somme de deux cubes :

  var1 = cube(3) + cube(5);

A l'issue de cette instruction, var1 aura pour valeur : 33 + 53 = 152