diff options
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/function/arguments/index.md')
-rw-r--r-- | files/fr/web/javascript/reference/global_objects/function/arguments/index.md | 82 |
1 files changed, 29 insertions, 53 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/function/arguments/index.md b/files/fr/web/javascript/reference/global_objects/function/arguments/index.md index 6723204679..a8272388ce 100644 --- a/files/fr/web/javascript/reference/global_objects/function/arguments/index.md +++ b/files/fr/web/javascript/reference/global_objects/function/arguments/index.md @@ -11,25 +11,26 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Function/arguments original_slug: Web/JavaScript/Reference/Objets_globaux/Function/arguments --- -<div>{{JSRef}} {{Deprecated_header}}</div> +{{JSRef}} {{Deprecated_header}} -<p>La propriété <code><strong>function.arguments</strong></code> 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 {{jsxref("Fonctions/arguments", "arguments")}}. Cette propriété est interdite en mode stricte à cause de <a href="https://www.ecma-international.org/ecma-262/6.0/#sec-addrestrictedfunctionproperties">l'optimisation de la queue des appels (<em>tail call optimization</em>)</a>.</p> +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 {{jsxref("Fonctions/arguments", "arguments")}}. Cette propriété est interdite en mode stricte à cause de [l'optimisation de la queue des appels (_tail call optimization_)](https://www.ecma-international.org/ecma-262/6.0/#sec-addrestrictedfunctionproperties). -<h2 id="Description">Description</h2> +## Description -<p>La syntaxe <code><em>function</em>.arguments</code> est obsolète. La méthode recommandée pour accéder à l'objet {{jsxref("Fonctions/arguments", "arguments")}} disponible au sein des fonctions est simplement de faire référence à la variable {{jsxref("Fonctions/arguments", "arguments")}}.</p> +La syntaxe `function.arguments` est obsolète. La méthode recommandée pour accéder à l'objet {{jsxref("Fonctions/arguments", "arguments")}} disponible au sein des fonctions est simplement de faire référence à la variable {{jsxref("Fonctions/arguments", "arguments")}}. -<p>Si on utilise la récursivité (autrement dit si une fonction <code>f</code> apparaît plusieurs fois dans la pile d'appels ou encore qu'une fonction <code>f</code> s'appelle elle-même), la valeur de <code>f.arguments</code> représentera les arguments correspondant à l'appel le plus « récent » de la fonction.</p> +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. -<p>La valeur de la propriété <code>arguments</code> est normalement <code>null</code> 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).</p> +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). -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush:js">function f(n) { g(n-1); } +```js +function f(n) { g(n-1); } function g(n) { console.log("avant : " + g.arguments[0]); - if(n>0) f(n); + if(n>0) f(n); console.log("après : " + g.arguments[0]); } @@ -44,47 +45,22 @@ console.log("fonction terminée : " + g.arguments); // après : 0 // après : 1 // fonction terminée : null -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.0. Dépréciée pour être remplacée par {{jsxref("Fonctions/arguments", "arguments")}} décrit par ES3.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-10.6', 'arguments object')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td>Objet {{jsxref("Fonctions/arguments", "arguments")}}</td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-arguments-object', 'arguments object')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Objet {{jsxref("Fonctions/arguments", "arguments")}}</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-arguments-object', 'arguments object')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td>Objet {{jsxref("Fonctions/arguments", "arguments")}}</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Function.arguments")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>L'objet {{jsxref("Fonctions/arguments", "arguments")}}</li> - <li>{{jsxref("Fonctions", "Les fonctions et les portées de fonctions", "", 1)}}</li> -</ul> +``` + +## Spécifications + +| Spécification | Statut | Commentaires | +| -------------------------------------------------------------------------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Définition initiale. Implémentée avec JavaScript 1.0. Dépréciée pour être remplacée par {{jsxref("Fonctions/arguments", "arguments")}} décrit par ES3. | +| {{SpecName('ES5.1', '#sec-10.6', 'arguments object')}} | {{Spec2('ES5.1')}} | Objet {{jsxref("Fonctions/arguments", "arguments")}} | +| {{SpecName('ES6', '#sec-arguments-object', 'arguments object')}} | {{Spec2('ES6')}} | Objet {{jsxref("Fonctions/arguments", "arguments")}} | +| {{SpecName('ESDraft', '#sec-arguments-object', 'arguments object')}} | {{Spec2('ESDraft')}} | Objet {{jsxref("Fonctions/arguments", "arguments")}} | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Function.arguments")}} + +## Voir aussi + +- L'objet {{jsxref("Fonctions/arguments", "arguments")}} +- {{jsxref("Fonctions", "Les fonctions et les portées de fonctions", "", 1)}} |