JavaScript : fonctions

JavaScript est d'abord et avant tout un langage fonctionnel, donc un langage où la fonction est un citoyen de première classe.

Ce qui suit présente quelques exemples mettant en valeur cet aspect du langage.

Exemple 00 – variable pointant sur une fonction

L'exemple suivant montre comment une référence sur une fonction locale à une fonction peut être entreposée dans une variable ou passée en paramètre à une fonction.

Code associé
function appliquer(f, arg) {
   return f(arg);
}
function testA() {
   var f = function(x) {
      return x + 0.5;
   };
   alert("appliquer(f, 3.5) == " + appliquer(f,3.5));
}

Exemple 01 – fonction retournée par une fonction

L'exemple suivant montre comment une fonction peut être retournée par une fonction, puis utilisée dans le code appelant

Code associé
function creer() {
   return function(arg) {
      return arg < 0? arg - 0.5 : arg + 0.5;
   };
}
function testB() {
   var f = creer();
   alert("f(3.5) == " + f(3.5));
}

Exemple 02 – fonction utilisée à titre de fermeture

L'exemple suivant montre comment une fonction peut définir une fermeture, un peu comme une expression λ

Code associé
function generer(n) {
   return function() {
      return n++;
   };
}
function testC() {
   var gen = generer(0);
   alert("gen(), gen(), gen() -> " + gen() + ", " + gen() + ", " + gen());
}

Lectures supplémentaires

Quelques liens pour enrichir le propos :


Valid XHTML 1.0 Transitional

CSS Valide !