Introduction

JavaScript est un langage de programmation, orienté objet à prototype permettant d’enrichir une application (page web par exemple) par l’intermédiaire un interpréteur de script dépendant de l’application hôte.
Ce langage a été créé en 1995 par Brendan Eich s’inspirant de Java mais avec une syntaxe très simplifiée (cf. ici pour une description plus détaillée).

Il existe de nombreux sites détaillant les fonctionnalités de ce langage. En particulier, Mozilla propose un ensemble de ressources bien documentés sur ce langage (ainsi que sur d’autres).

La version proposée ici correspond au standard ECMA-262 (JavaScript 1.5) avec des extensions spécifiques:

Extensions internes
Extensions externe (sous forme greffons type dll)
  • extension Active X (Objet)
  • extension de fonction de calcul

D’autres extensions sont en cours de développement (Interface utilisateur, Interface MatLab…)

Exemple de script (utilisant une extension spécifique)
var SIZE = 10000;
var seed = 123456789;

function rand()
{
 var a = 16807;
 var m = 2147483647;
 seed = (a * seed) % m;
 var random = (seed) / (m);
 random = random - 0.5;
 random = random * 2.0;
 return random;
}

function centile(tab_tri, cent)
{
 if (cent < 1 || cent > 99) cent = 50;
 var c = 0;
 var p = cent / 100.0;
 p*=tab_tri.size();
 var pc = Math.round(p);
 return tab_tri.get(pc);
}

function mean(tab)
{
 var m = 0.0;
 var i;
 for(i = 0; i < tab.size(); i++)
 m+=tab.get(i);
 m/=tab.size();
 return m;
}

function sd(tab)
{
 var s = 0.0;
 var s2 = 0.0;
 var n = tab.size();
 var i;
 for(i = 0; i < n; i++)
 {
 s+=tab.get(i);
 s2+=(tab.get(i)*tab.get(i));
 }
 s = Math.sqrt(((n*s2)-(s*s))/(n*(n-1)));
 return s;
}

var a = Float64Vector(SIZE);
var i;
for(i = 0; i < a.size(); i++)
{
 var value = rand()*100.0;
 a.set(i, value);
}
a.sort();

var m = mean(a);
var s = sd(a);
var c = centile(a, 50);
print("Moyenne = "+m+" sd = "+s+" P50 = "+c);