Function.arguments

par 3 contributeurs :

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.

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

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

Voir aussi

Étiquettes et contributeurs liés au document

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