diff options
author | Ryan Johnson <rjohnson@mozilla.com> | 2021-04-29 16:16:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-29 16:16:42 -0700 |
commit | 95aca4b4d8fa62815d4bd412fff1a364f842814a (patch) | |
tree | 5e57661720fe9058d5c7db637e764800b50f9060 /files/ca/web/javascript/reference/functions/arguments/index.html | |
parent | ee3b1c87e3c8e72ca130943eed260ad642246581 (diff) | |
download | translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2 translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip |
remove retired locales (#699)
Diffstat (limited to 'files/ca/web/javascript/reference/functions/arguments/index.html')
-rw-r--r-- | files/ca/web/javascript/reference/functions/arguments/index.html | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/files/ca/web/javascript/reference/functions/arguments/index.html b/files/ca/web/javascript/reference/functions/arguments/index.html deleted file mode 100644 index da5237bdf0..0000000000 --- a/files/ca/web/javascript/reference/functions/arguments/index.html +++ /dev/null @@ -1,211 +0,0 @@ ---- -title: Arguments object -slug: Web/JavaScript/Reference/Functions/arguments -tags: - - Functions - - JavaScript - - NeedsTranslation - - TopicStub - - arguments -translation_of: Web/JavaScript/Reference/Functions/arguments ---- -<div> -<div>{{jsSidebar("Functions")}}</div> -</div> - -<p>The <strong><code>arguments</code></strong> object is an <code>Array</code>-like object corresponding to the arguments passed to a function.</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">arguments</pre> - -<h2 id="Description">Description</h2> - -<p>The <code>arguments</code> object is a local variable available within all functions. <code>arguments</code> as a property of <code>Function</code> can no longer be used.</p> - -<p>You can refer to a function's arguments within the function by using the <code>arguments</code> object. This object contains an entry for each argument passed to the function, the first entry's index starting at 0. For example, if a function is passed three arguments, you can refer to the argument as follows:</p> - -<pre class="brush: js">arguments[0] -arguments[1] -arguments[2] -</pre> - -<p>The arguments can also be set:</p> - -<pre class="brush: js">arguments[1] = 'new value';</pre> - -<p>The <code>arguments</code> object is not an {{jsxref("Array")}}. It is similar to an <code>Array</code>, but does not have any <code>Array</code> properties except <code><a href="/en-US/docs/Web/JavaScript/Reference/Functions/arguments/length" title="JavaScript/Reference/Functions_and_function_scope/arguments/length">length</a></code>. For example, it does not have the <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop" title="JavaScript/Reference/Global_Objects/Array/pop">pop</a></code> method. However it can be converted to a real <code>Array</code>:</p> - -<pre class="brush: js">var args = Array.prototype.slice.call(arguments);</pre> - -<div class="warning"> -<p><strong>Important:</strong> You should not slice on arguments because it prevents optimizations in JavaScript engines (V8 for example). Instead, try constructing a new array by iterating through the arguments object. <a href="https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments">More information</a>.</p> -</div> - -<p>If <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Array_generic_methods" title="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array#Array_generic_methods">Array generics</a> are available, one can use the following instead:</p> - -<pre class="brush: js">var args = Array.slice(arguments);</pre> - -<p>The <code>arguments</code> object is available only within a function body. Attempting to access the <code>arguments</code> object outside a function declaration results in an error.</p> - -<p>You can use the <code>arguments</code> object if you call a function with more arguments than it is formally declared to accept. This technique is useful for functions that can be passed a variable number of arguments. You can use <code><a href="/en-US/docs/JavaScript/Reference/Functions_and_function_scope/arguments/length" title="JavaScript/Reference/Functions_and_function_scope/arguments/length">arguments.length</a></code> to determine the number of arguments passed to the function, and then process each argument by using the <code>arguments</code> object. (To determine the number of arguments declared when a function was defined, use the <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Function/length" title="JavaScript/Reference/Global_Objects/Function/length">Function.length</a></code> property.)</p> - -<h2 id="Properties">Properties</h2> - -<dl> - <dt><code><a href="/en-US/docs/Web/JavaScript/Reference/Functions/arguments/callee" title="JavaScript/Reference/Functions_and_function_scope/arguments/callee">arguments.callee</a></code></dt> - <dd>Reference to the currently executing function.</dd> - <dt><code><a href="/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller" title="JavaScript/Reference/Functions_and_function_scope/arguments/caller">arguments.caller</a></code> {{ Obsolete_inline() }}</dt> - <dd>Reference to the function that invoked the currently executing function.</dd> - <dt><code><a href="/en-US/docs/Web/JavaScript/Reference/Functions/arguments/length" title="JavaScript/Reference/Functions_and_function_scope/arguments/length">arguments.length</a></code></dt> - <dd>Reference to the number of arguments passed to the function.</dd> -</dl> - -<h2 id="Examples">Examples</h2> - -<h3 id="Defining_a_function_that_concatenates_several_strings">Defining a function that concatenates several strings</h3> - -<p>This example defines a function that concatenates several strings. The only formal argument for the function is a string that specifies the characters that separate the items to concatenate. The function is defined as follows:</p> - -<pre class="brush:js">function myConcat(separator) { - var args = Array.prototype.slice.call(arguments, 1); - return args.join(separator); -}</pre> - -<p>You can pass any number of arguments to this function, and it creates a list using each argument as an item in the list.</p> - -<pre class="brush:js">// returns "red, orange, blue" -myConcat(", ", "red", "orange", "blue"); - -// returns "elephant; giraffe; lion; cheetah" -myConcat("; ", "elephant", "giraffe", "lion", "cheetah"); - -// returns "sage. basil. oregano. pepper. parsley" -myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");</pre> - -<h3 id="Defining_a_function_that_creates_HTML_lists">Defining a function that creates HTML lists</h3> - -<p>This example defines a function that creates a string containing HTML for a list. The only formal argument for the function is a string that is "<code>u</code>" if the list is to be unordered (bulleted), or "<code>o</code>" if the list is to be ordered (numbered). The function is defined as follows:</p> - -<pre class="brush:js">function list(type) { - var result = "<" + type + "l><li>"; - var args = Array.prototype.slice.call(arguments, 1); - result += args.join("</li><li>"); - result += "</li></" + type + "l>"; // end list - - return result; -}</pre> - -<p>You can pass any number of arguments to this function, and it adds each argument as an item to a list of the type indicated. For example:</p> - -<pre class="brush:js">var listHTML = list("u", "One", "Two", "Three"); - -/* listHTML is: - -"<ul><li>One</li><li>Two</li><li>Three</li></ul>" - -*/</pre> - -<h3 id="Rest_default_and_destructured_parameters">Rest, default and destructured parameters</h3> - -<p>The <code>arguments</code> object can be used in conjunction with <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters">rest parameters</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters">default parameters</a> or <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">destructured parameters</a>.</p> - -<pre class="brush: js">function foo(...args) { - return arguments; -} -foo(1, 2, 3); // { "0": 1, "1": 2, "2": 3 } -</pre> - -<p>However, in non-strict functions, a <strong>mapped <code>arguments</code> object</strong> is only provided if the function does <strong>not</strong> contain any <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters">rest parameters</a>, any <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters">default parameters</a> or any <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">destructured parameters</a>. For example, in the following function that uses a default parameter, <code>1</code>0 instead of 100 is returned:</p> - -<pre class="brush: js">function bar(a=1) { - arguments[0] = 100; - return a; -} -bar(10); // 10 -</pre> - -<h2 id="Specifications">Specifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Initial definition. Implemented in JavaScript 1.1</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-10.6', 'Arguments Object')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-arguments-exotic-objects', 'Arguments Exotic Objects')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - -<p>{{CompatibilityTable}}</p> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="See_also">See also</h2> - -<ul> - <li>{{jsxref("Function")}}</li> -</ul> |