<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Programmation fonctionnelle en Javascript</title> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="FuncProg.css" type="text/css" charset="utf-8"> <script type="text/javascript" charset="utf-8" src="DOMTools.js"></script> <script type="text/javascript" charset="utf-8"> // fonctions d'ordre supérieur function add(a){ return function(b){return a+b} }; add(3)(4) </script> <script type="text/javascript" charset="utf-8"> var bump=add(1); bump(3) </script> <script type="text/javascript" charset="utf-8"> // extension d'un objet prédéfini Array.prototype.fold = function (value,functor){ var result=value; for (var i=0;i<this.length;i++) result = functor(result,this[i]); return result; }; [1,2,3,4,5,6,7,8,9,10].fold(0,function(a,b){return a+b}) </script> <script type="text/javascript" charset="utf-8"> [1,2,3,4,5,6,7].fold(1,function(a,b){return a*b}) </script> <script type="text/javascript" charset="utf-8"> ["pomme","orange","poire"].map(function(a){return a+"s"}).fold("Cerise",function(a,b){return a+", "+b}) </script> <script type="text/javascript" charset="utf-8"> function creerExemples(){ var scripts = document.getElementsByTagName("script"); // afficher tous les scripts sauf le premier (dans le head) et le dernier (celui-ci) for (var i=1; i scripts.length-1; i++) { showScript(scripts.item(i),document.getElementById("main")); }; } window.addEventListener("load",creerExemples,false); </script> </head> <body> <h1>Exemples de programmation fonctionnelle</h1> <div id="main"> </div> </body> </html>