5 Procédures et fonctions


Retour au menu

Déclaration et appel des fonctions en JS

Déclaration générale d'une procédure et d'une fonction

<HEAD>
<SCRIPT LANGUAGE=JavaScript >
Function nomProcédure(param1, param2, ...)  {
  séquence d'instructions;
  }
Function nomFonction(param1, param2, ...)   {
  séquence d'instructions;
  return nom_variable
  }
</SCRIPT>
</HEAD>

Appel d'une procédure et d'une fonction

nomProcédure(valeur1, valeur2, ...) ;

variable = nomFonction(valeur1, valeur2, ...) ;

Exemple

Etudier l'exemple suivant et prévoir exactement son exécution.
Ensuite, comparer avec le corrigé.

<HEAD>
<SCRIPT>
  // déclaration de la procédure
  function bonjour(prenom) {
  document.write("Bonjour, comment vas-tu ", prenom," ?<br>"); 
  }
  // déclaration de fonctions
 function volumeSphere(rayon) {
  return 4/3*Math.PI*Math.pow(rayon,3);
  }
 function calculerPrix(PrixUnitaire, NbArticles)  {
  return  PrixUnitaire* NbArticles; 
  }
</SCRIPT>
</HEAD>
<BODY>
 // appel de la procédure
  bonjour("Toto") ;
 //appels des fonctions 
var montant=CalculPrix( 150 , 4) ;

document.write( "Tu dois payer  ", calculerPrix( 150, 4), "F.<BR>");
document.write( "Sais-tu que le volume de la sphère de rayon unité est ",
	 volumeSphere(1)," ?<BR>" );
</BODY>

Visibilité des paramètres

Fonctions récursives

JavaScript est un langage récursif !
Exemple classique : la fonction factorielle

<HTML>
<BODY>
<script>
function fact(n) {
if (n==0) return 1
else return (n*fact(n-1))
}
 nb=prompt("N= ","0");
 document.write("Liste des premières factorielles jusqu'à ", nb); 
 for (var i=0;i<nb;i++) 
 document.write(i+ " ! = "+fact(i)+"<br>") 
</script>
</BODY>
</HTML>

Qu'obtient-on exactement à l'exécution ?
Pour vérifier, voir le corrigé exemple 3


L'objet Function