Fonctions à nombre variable d'arguments


Une fonction peut connue du JavaScript est la possibilité de passer un nombre variable d'arguments à une fonction.
Ceci a l'avantage d'éconimiser de l'espace mémoire. Au lieu d'écrire différentes fonctions pour différents arguments, on peut écrire une seule fonction.

Exemple 1

Une fonction qui additionne des nombres ou concatène des chaînes de caractères

<html>
<head>
<title>Fonctions à nombre variable d'arguments</title>
</head>
<body>

<script LANGUAGE="JavaScript">
<!--
function ajoute(type) {
 
var argv = ajoute.arguments;
 
var argc = argv.length;
  if (type == 'nombre')
    var result = 0;
  else
  if (type == 'string')
    var result = '';

  for(var i = 1; i < argc; i++) {
    result += argv[i];
  }

  return result;
}

//affiche 6
document.write(ajoute('nombre',1,2,3));
//affiche s1&s2&s3&s4
document.write(ajoute('string','s1','&','s2','&','s3','&','s4'));
//affiche 10
document.write(ajoute('nombre',1,2,3,4));
//-->
</script>

</body>
</html>

Exemple 2

Une fonction qui concatène des mots avec un séparateur passé en paramètre.

<html>
<head>
<title>Fonctions à nombre variable d'arguments</title>
</head>
<body>

<script LANGUAGE="JavaScript">
<!--
function ajoute(separ) {
  var argv = ajoute.arguments;
  var argc = argv.length;
  var result = '';

  for(var i = 1; i < argc; i++) {
    result += argv[i] + separ;
  }

  return result;
}

//affiche s1 - s2 - s3 -
document.write(ajoute(' - ','s1','s2','s3'));
//affiche s1;s2;
document.write(ajoute(';','s1','s2'));
//-->
</script>

</body>
</html>

 

Une fenetre qui granditRetour à la page JavaScriptLes horloges