Function.arguments
Obsolète: Cette fonctionnalité n'est plus recommandée. Même si certains navigateurs la prennent encore en charge, elle a peut-être déjà été supprimée des standards du web, est en passe d'être supprimée ou n'est conservée qu'à des fins de compatibilité. Évitez de l'utiliser et mettez à jour le code existant si possible ; consultez le tableau de compatibilité au bas de cette page pour vous aider à prendre votre décision. Sachez que cette fonctionnalité peut 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
This feature does not appear to be defined in any specification.>Compatibilité des navigateurs
Chargement…