Obsolète
Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

La propriété function.arguments fait référence à un objet dont la structure est semblable à celle d'un tableau dont les éléments correspondent aux arguments passés à une fonction. En lieu et place, il faut désormais utiliser arguments. Cette propriété est interdite en mode stricte à cause de l'optimisation de la queue des appels (tail call optimization).

Description

La syntaxe function.arguments est obsolète.  La méthode recommandée pour accéder à l'objet arguments disponible au sein des fonctions est simplement de faire référence à la variable arguments.

Si on utilise la récursivité (autrement dit si une fonction f apparaît plusieurs fois dans la pile d'appels ou encore qu'une fonction f s'appelle elle-même), la valeur de f.arguments représentera les arguments correspondant à l'appel le plus « récent » de la fonction.

La valeur de la propriété arguments est normalement null si la fonction n'est pas « en cours » (au sens où elle aurait été appelée et qu'elle n'ait pas fini son exécution).

Exemples

function f(n) { g(n-1); }

function g(n) {
  console.log("avant : " + g.arguments[0]);
  if(n>0) f(n);
  console.log("après : " + g.arguments[0]);
}

f(2);

console.log("fonction terminée : " + g.arguments);

// On aura l'affichage de :

// avant : 1
// avant : 0
// après : 0
// après : 1
// fonction terminée : null

Spécifications

Spécification Statut Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.0. Dépréciée pour être remplacée par arguments décrit par ES3.
ECMAScript 5.1 (ECMA-262)
La définition de 'arguments object' dans cette spécification.
Standard Objet arguments
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'arguments object' dans cette spécification.
Standard Objet arguments
ECMAScript Latest Draft (ECMA-262)
La définition de 'arguments object' dans cette spécification.
Projet Objet arguments

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simple
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui

Légende

Support complet  
Support complet
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, teoli, tregagnon
Dernière mise à jour par : SphinxKnight,