--- title: Function.arguments slug: Web/JavaScript/Reference/Global_Objects/Function/arguments translation_of: Web/JavaScript/Reference/Global_Objects/Function/arguments ---
function.arguments
refere-se a um objecto com aspecto de array que corresponde aos argumentos da função. Ao invés disso, use a variável {{jsxref("Functions/arguments", "arguments")}}. Esta propriedade é proibida no modo strict devido ao tail call optimization.A síntaxe function.arguments
está obsoleta. A forma recomendade de aceder ao objecto {{jsxref("Functions/arguments", "arguments")}} disponível nas função é usar simplesment a variável {{jsxref("Functions/arguments", "arguments")}}.
No caso de recursão isto é, se uma funão f
aparece várias vezes na stack, o valor de f.arguments
representa os argumentos correspondentes à mais recente chamada da função.
O valor da propriedade arguments
é tipicamente null se não há nenuma invocação da função a acontecer, ou seja, a função foi chamada mas ainda não retornou.
function f(n) { g(n - 1); } function g(n) { console.log('antes: ' + g.arguments[0]); if (n > 0) { f(n); } console.log('depois: ' + g.arguments[0]); } f(2); console.log('retornado: ' + g.arguments); // Output // antes: 1 // antes: 0 // depois: 0 // depois: 1 // retornado: null
Specification | Status | Comment |
---|---|---|
{{SpecName('ES1')}} | {{Spec2('ES1')}} |
Definição inicial. Implementado em JavaScript 1.0. Tornado obsoleto a favor de {{jsxref("Functions/arguments", "arguments")}} em ES3. |
{{SpecName('ES5.1', '#sec-10.6', 'arguments object')}} | {{Spec2('ES5.1')}} | Objecto {{jsxref("Functions/arguments", "arguments")}} |
{{SpecName('ES6', '#sec-arguments-object', 'arguments object')}} | {{Spec2('ES6')}} | Objecto {{jsxref("Functions/arguments", "arguments")}} |
{{SpecName('ESDraft', '#sec-arguments-object', 'arguments object')}} | {{Spec2('ESDraft')}} | Objecto {{jsxref("Functions/arguments", "arguments")}} |
{{Compat("javascript.builtins.Function.arguments")}}