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 |
ECMAScript 2016 Draft (7th Edition, ECMA-262) La définition de 'arguments object' dans cette spécification. |
Projet | 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) |