Comparaison de révisions

arguments

Révision 266854 :

Révision 266854 par daniel35310 le

Révision 217609 :

Révision 217609 par daniel35310 le

Titre :
arguments
arguments
Identifiant d'URL :
JavaScript/Référence_JavaScript/Fonctions/arguments
JavaScript/Référence_JavaScript/Fonctions/arguments
Contenu :

Révision 266854
Révision 217609
t7    <h3 class="editable" id="Sommaire">t
8      <span>Sommaire</span>
9    </h3>
10    <div class="editIcon" style="visibility: hidden;">
11      <h3 class="editable" id="sect1">
12        <a href="/fr/en/JavaScript/Reference/Functions_and_functi
>on_scope/arguments?action=edit&amp;sectionId=1" title="Edit secti 
>on"><span class="icon"><img alt="Edit section" class="sectionedit 
>" src="../../../../skins/common/icons/icon-trans.gif"></span></a> 
13      </h3>
14    </div>
15    <p>
16      Un tableau semblable à l'objet correspondant aux&nbsp; argu
>ments passés à une fonction. 
17    </p>
18    <table class="standard-table">
19      <tbody>
20        <tr>
21          <th class="header" colspan="2">
22            Variable de la portée de fonction
23          </th>
24        </tr>
25        <tr>
26          <td>
27            Implémenté dans
28          </td>
29          <td>
30            JavaScript 1.1
31          </td>
32        </tr>
33        <tr>
34          <td>
35            Version ECMA:
36          </td>
37          <td>
38            ECMA-262
39          </td>
40        </tr>
41      </tbody>
42    </table>
43    <div id="section_2">
44      <h3 class="editable" id="Description">
45        <span>Description</span>
46      </h3>
47      <div class="editIcon">
48        <h3 class="editable" id="sect2">
49          <a href="/fr/en/JavaScript/Reference/Functions_and_func
>tion_scope/arguments?action=edit&amp;sectionId=2" title="Edit sec 
>tion"><span class="icon"><img alt="Edit section" class="sectioned 
>it" src="../../../../skins/common/icons/icon-trans.gif"></span></ 
>a> 
50        </h3>
51      </div>
52      <p>
53        L'objet <code>arguments</code> est une variable locale di
>sponible dans toutes les fonctions; <code>arguments</code> comme  
>une propriété de <code>Function</code> ne peuvent plus être utili 
>sés. 
54      </p>
55      <p>
56        Vous pouvez vous référer aux arguments d'une fonction au 
>sein de la fonction en utilisant l'objet <code>arguments</code>.  
>Cet objet contient une entrée pour chaque argument passé à une fo 
>nction, le premier indice entré démarre à 0. Par exemple, si la f 
>onction est passée avec trois arguments, vous pouvez vous référer 
> à ce qui suit: 
57      </p>
58      <pre class="eval">
59arguments[0]
60arguments[1]
61arguments[2]
62</pre>
63      <p>
64        Les argument peuvent être mis en:
65      </p>
66      <pre class="eval">
67arguments[1] = 'new value';
68</pre>
69      <div class="note">
70        <strong>Note:</strong> Le moteur JavaScript <a href="../.
>./../../en/SpiderMonkey" rel="internal" title="en/SpiderMonkey">S 
>piderMonkey</a> a un bug <a class="link-https" href="https://bugz 
>illa.mozilla.org/show_bug.cgi?id=292215" rel="external" target="_ 
>blank" title="https://bugzilla.mozilla.org/show_bug.cgi?id=292215 
>">bug</a> dans lequel les <code>arguments[n]</code> ne peuvent pa 
>s être réglés si <code>n</code> est plus grand que le nombre de p 
>aramètres formels ou actuels. Ceci a été réglé dans le moteur Jav 
>aScript 1.6. 
71      </div>
72      <p>
73        L'objet <code>arguments</code> n'est pas un tableau. Il e
>st semblable à un tableau, mais ne dispose pas de propriétés tabl 
>eau, sauf la <code><a href="../../../../en/JavaScript/Reference/F 
>unctions_and_function_scope/arguments/length" rel="internal" titl 
>e="En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/ 
>arguments/length">length</a></code>(longueur). Par exemple, il n' 
>a pas la méthode <code><a href="../../../../en/JavaScript/Referen 
>ce/Global_Objects/Array/pop" rel="internal" title="en/Core_JavaSc 
>ript_1.5_Reference/Global_Objects/Array/pop">pop</a></code>. Cepe 
>ndant, il peut être converti en un tableau réel: 
74      </p>
75      <pre class="eval">
76 var args = Array.prototype.slice.call(arguments);
77</pre>
78      <p>
79        L'objet <code>arguments</code> est disponible uniquement 
>dans un corps de fonction. La tentative d'accéder à l'objet <code 
>>arguments</code> en dehors d'une déclaration de fonction aboutit 
> à une erreur. 
80      </p>
81      <p>
82        Vous pouvez utiliser l'objet <code>arguments</code> si vo
>us appelez une fonction avec plus d'arguments qu'il ne déclare fo 
>rmellement pour accepter. Cette technique est très utile pour les 
> fonctions qui peuvent être transmis d'un nombre variable d'argum 
>ents. Vous pouvez utiliser <code><a href="../../../../en/JavaScri 
>pt/Reference/Functions_and_function_scope/arguments/length" rel=" 
>internal" title="En/Core_JavaScript_1.5_Reference/Functions_and_f 
>unction_scope/arguments/length">arguments.length</a></code> pour  
>déterminer le nombre d'arguments passés à la fonction, et ensuite 
> traiter chaque argument en utilisant l'objet <code>arguments</co 
>de> . (Pour déterminer le nombre d'arguments déclarés quand une f 
>onction a été définie, utilisez la propriété <code><a href="../.. 
>/../../en/JavaScript/Reference/Global_Objects/Function/length" re 
>l="internal" title="en/Core_JavaScript_1.5_Reference/Global_Objec 
>ts/Function/length">Function.length</a></code>.) 
83      </p>
84    </div>
85    <div id="section_3">
86      <h3 class="editable" id="Propri.C3.A9t.C3.A9s">
87        <span>Propriétés</span>
88      </h3>
89      <div class="editIcon">
90        <h3 class="editable" id="sect3">
91          <a href="/fr/en/JavaScript/Reference/Functions_and_func
>tion_scope/arguments?action=edit&amp;sectionId=3" title="Edit sec 
>tion"><span class="icon"><img alt="Edit section" class="sectioned 
>it" src="../../../../skins/common/icons/icon-trans.gif"></span></ 
>a> 
92        </h3>
93      </div>
94      <dl>
95        <dt>
96          <a href="../../../../en/JavaScript/Reference/Functions_
>and_function_scope/arguments/callee" rel="internal" title="En/Cor 
>e_JavaScript_1.5_Reference/Functions_and_function_scope/arguments 
>/callee">arguments.callee</a> 
97        </dt>
98        <dd>
99          Référence à la fonction en cours d'exécution.
100        </dd>
101      </dl>
102      <dl>
103        <dt>
104          <a href="../../../../en/JavaScript/Reference/Functions_
>and_function_scope/arguments/caller" rel="internal" title="En/Cor 
>e_JavaScript_1.5_Reference/Functions_and_function_scope/arguments 
>/caller">arguments.caller</a> 
105        </dt>
106        <dd>
107          <span style="border: 1px solid #FF0000; background-colo
>r: #FEBCBC; font-size: x-small; white-space: nowrap; padding: 2px 
>;" title="">Obsolète</span> 
108        </dd>
109        <dd>
110          <span id="result_box" lang="fr"><span class="hps">Référ
>ence</span> <span class="hps">à la fonction qui</span> <span clas 
>s="hps">a appelé la fonction</span> <span class="hps">en cours d' 
>exécution</span><span>.</span></span> 
111        </dd>
112      </dl>
113      <dl>
114        <dt>
115          <a href="../../../../en/JavaScript/Reference/Functions_
>and_function_scope/arguments/length" rel="internal" title="En/Cor 
>e_JavaScript_1.5_Reference/Functions_and_function_scope/arguments 
>/length">arguments.length</a> 
116        </dt>
117        <dd>
118          <span id="result_box" lang="fr"><span class="hps">Référ
>ence</span> <span class="hps">au nombre</span> <span class="hps"> 
>d'arguments passés</span> <span class="hps">à la fonction.</span> 
></span> 
119        </dd>
120      </dl>
121    </div>
122    <h3 class="editable" id="Exemples">
123      <span>Exemples</span>
124    </h3>
125    <div class="editIcon">
126      <h3 class="editable" id="sect4">
127        <a href="/fr/en/JavaScript/Reference/Functions_and_functi
>on_scope/arguments?action=edit&amp;sectionId=4" title="Edit secti 
>on"><span class="icon"><img alt="Edit section" class="sectionedit 
>" src="../../../../skins/common/icons/icon-trans.gif"></span></a> 
128      </h3>
129    </div>
130    <div id="section_5">
131      <h4 class="editable" id="Exemple:_D.C3.A9finition_d'une_fon
>ction_qui_concat.C3.A8ne_plusieurs_cha.C3.AEnes_"> 
132        <span>Exemple: Définition d'une fonction qui concatène pl
>usieurs chaînes</span> 
133      </h4>
134      <div class="editIcon">
135        <h4 class="editable" id="sect5">
136          <a href="/fr/en/JavaScript/Reference/Functions_and_func
>tion_scope/arguments?action=edit&amp;sectionId=5" title="Edit sec 
>tion"><span class="icon"><img alt="Edit section" class="sectioned 
>it" src="../../../../skins/common/icons/icon-trans.gif"></span></ 
>a> 
137        </h4>
138      </div>
139      <p>
140        Cet exemple définit&nbsp; une fonction qui concatène plus
>ieurs chaînes. Le seul argument formel pour la fonction est une c 
>haîne qui spécifie les caractères qui séparent les éléments à con 
>caténer. La fonction est définie comme suit: 
141      </p>
142      <pre class="eval">
143function myConcat(separator) {
144  var result = "";
145 
146  // iterate through non-separator arguments
147  for (var i = 1; i &lt; arguments.length; i++)
148    result += arguments[i] + separator;
149 
150  return result;
151}
152</pre>
153      <p>
154        Vous pouvez passer n'importe quel nombre d'arguments à ce
>tte fonction, et il créé une liste utilisant chaque argument comm 
>e un élément de la liste. 
155      </p>
156      <pre class="eval">
157// returns "red, orange, blue, "
158myConcat(", ", "red", "orange", "blue");
159 
160// returns "elephant; giraffe; lion; cheetah; "
161myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
162 
163// returns "sage. basil. oregano. pepper. parsley. "
164myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
165</pre>
166    </div>
167    <h4 class="editable" id="Exemple:_D.C3.A9finition_d'une_fonct
>ion_qui_cr.C3.A9.C3.A9_des_listes_HTML"> 
168      <span>Exemple: Définition d'une fonction qui créé des liste
>s HTML</span> 
169    </h4>
170    <div class="editIcon">
171      <h4 class="editable" id="sect6">
172        <a href="/fr/en/JavaScript/Reference/Functions_and_functi
>on_scope/arguments?action=edit&amp;sectionId=6" title="Edit secti 
>on"><span class="icon"><img alt="Edit section" class="sectionedit 
>" src="../../../../skins/common/icons/icon-trans.gif"></span></a> 
173      </h4>
174    </div>
175    <p>
176      Cet exemple définit une fonction qui créé une chaîne conten
>ant HTML pour une liste. Le seul argument formel est une chaîne q 
>ui est "<code>u</code>" si la liste est d'être non-ordonnée&nbsp; 
> (à puces), ou "<code>o</code>" si la liste est d'être ordonnée ( 
>numérotée). La fonction est définie comme suit: 
177    </p>
178    <pre>
179function list(type) {
180  var result = "&lt;" + type + "l&gt;";
181 
182  // iterate through non-type arguments
183  for (var i = 1; i &lt; arguments.length; i++)
184    result += "&lt;li&gt;" + arguments[i] + "&lt;/li&gt;";
185 
186  result += "&lt;/" + type + "l&gt;"; // end list
187 
188  return result;
189}
190</pre>
191    <p>
192      Vous pouvez passer n'importe quel argument à cette fonction
>, et elle ajoute cet argument comme un élément de la liste de typ 
>e indiqué. Par exemple: 
193    </p>
194    <pre>
195var listHTML = list("u", "One", "Two", "Three");
196// listHTML is "&lt;ul&gt;&lt;li&gt;One&lt;/li&gt;&lt;li&gt;Two&l
>t;/li&gt;&lt;li&gt;Three&lt;/li&gt;&lt;/ul&gt;" 
197</pre>

Retour à l'historique