recursal/MDN huggingface dataset:
Function.arguments
==================

**Deprecated:** This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

A propriedade **`function.arguments`** diz respeito a um objeto tipo array (array-like object) correspondente aos argumentos passados para uma função. Use somente a variável `arguments` em vez disso.

Descrição
---------

A sintaxe `function.arguments` está obsoleta. A forma recomendada de acessar o objeto `arguments` disponível dentro das funções, é simplesmente referenciar a variável `arguments`.

No caso de recursão, ou seja, uma função f aparecer várias vezes na pilha de chamadas, o valor de `f.arguments` representa os argumentos correspondentes a invocação mais recente da função.

O valor da propriedade arguments é normalmente nulo (`null`) se não houver nenhuma invocação pendente da função em andamento (ou seja, a função foi chamada mas ainda não retornou).

Exemplos
--------


```js
function f(n) {
  g(n - 1);
}

function g(n) {
  console.log("before: " + g.arguments[0]);
  if (n > 0) {
    f(n);
  }
  console.log("after: " + g.arguments[0]);
}

f(2);

console.log("returned: " + g.arguments);

// Output

// before: 1
// before: 0
// after: 0
// after: 1
// returned: null
```

Especificações
--------------

Não faz parte de nenhuma especificação.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `arguments` object
* Functions and function scope
Function.length
===============

A propriedade **`length`** especifica o número de argumentos esperados pela função.

| Property attributes of `Function.length` |
| --- |
| Writable | no |
| Enumerable | no |
| Configurable | yes |

Descrição
---------

`length é uma propriedade de um objeto função`, e indica quantos argumentos a função espera, i.e. o número de parametros formais. Este número não incluí o rest parameter (en-US). Por contraste, `arguments.length` (en-US) é local para a função e fornece o número de argumentos que foram realmente passados.

### Propriedade de Dados do construtor `Function`

O construtor `Function` é propriamente um objeto `Function`. A proproedade de dados do seu `length` tem o valor de 1. Os atributos da propriedade são: Escrita: `false`, Enumerável: `false`, Configurável: `true`.

### Propriedades do objeto prototype de `Function`

A propriedade length do objeto prototype `Function` tem o valor de 0.

Exemplos
--------


```js
console.log(Function.length); /\* 1 \*/

console.log(function () {}.length); /\* 0 \*/
console.log(function (a) {}.length); /\* 1 \*/
console.log(function (a, b) {}.length); /\* 2 etc. \*/
console.log(
  function (...args) {}.length,
); /\* 0, rest parameter is not counted \*/
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-function-instances-length |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja tambem
-----------

* `Function`
Function.caller
===============

**Non-standard:** This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

A propriedade **`function.caller`** retorna a função que invocou a função especificada.

Descrição
---------

Se a função `f` foi invocada pelo codigo mais alto nível, o valor de `f.caller` é `null`, caso contrario, o valor será a função a qual invocou `f`.

Esta propriedade substitui a propriedade obsoleta `arguments.caller` do objeto `arguments`.

A propriedade especial `__caller__`, a qual retornou o objeto de ativação do chamador, permitindo assin reconstruir o stack, foi removido por motivo de segurança.

### Notas

Note que no caso de recurção, você não pode reconstruir o stack de chamadas usando esta propriedade. Considere:


```js
function f(n) {
  g(n - 1);
}
function g(n) {
  if (n > 0) {
    f(n);
  } else {
    stop();
  }
}
f(2);
```


No momento em que `stop()` é chamado o stack será:


```js
f(2) -> g(1) -> f(1) -> g(0) -> stop()
```


O seguinte é true:


```js
stop.caller === g && f.caller === g && g.caller === f;
```


então se você tentou recuperar o stack trace na função `stop()` assim:


```js
var f = stop;
var stack = "Stack trace:";
while (f) {
  stack += "\n" + f.name;
  f = f.caller;
}
```


o loop nunca irá parar.

Exemplos
--------

### Verificando o valor da propriedade `caller` de uma função

O código a seguir verifica o valor da propriedade `caller` de uma função.


```js
function myFunc() {
  if (myFunc.caller == null) {
    return "The function was called from the top!";
  } else {
    return "This function's caller was " + myFunc.caller;
  }
}
```

Especificações
--------------

Não faz parte de nenhuma especificação. Implementado no JavaScript 1.5.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver também
----------

* Implementation bug for SpiderMonkey Erro do Firefox 65683
Function.displayName
====================

**Non-standard:** This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

A propriedade **`function.displayName`** retorna o nome de exibição da função.

Descrição
---------

Quando definida, a propriedade `displayName` retorna o nome de exibição da função.


```js
function doSomething() {}

console.log(doSomething.displayName); // "undefined"

var popup = function (content) {
  console.log(content);
};

popup.displayName = "Show Popup";

console.log(popup.displayName); // "Show Popup"
```


Você pode definir uma função com uma nome de exibição em um function expression:


```js
var object = {
  someMethod: function () {},
};

object.someMethod.displayName = "someMethod";

console.log(object.someMethod.displayName); // logs "someMethod"

try {
  someMethod;
} catch (e) {
  console.log(e);
}
// ReferenceError: someMethod is not defined
```


Você pode mudar dinamicamente o`displayName` de uma função:


```js
var object = {
  // anonymous
  someMethod: function (value) {
    arguments.callee.displayName = "someMethod (" + value + ")";
  },
};

console.log(object.someMethod.displayName); // "undefined"

object.someMethod("123");
console.log(object.someMethod.displayName); // "someMethod (123)"
```

Exemplos
--------

Geralmente, é preferida por consoles e perfis em vez de `func.name` mostrar o nome de uma função.

Entrando com o seguinte em um console, isso deverá mostrar algo como "`function My Function()`":


```js
var a = function () {};
a.displayName = "My Function";

a; // "function My Function()"
```

Especificações
--------------

Não faz parte de denhuma especificação.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Date.prototype.getUTCDay()
==========================

O método **`getUTCDay()`** retorna o dia da semana na data especificada de acordo com o horário universal, onde 0 representa domingo.

Sintaxe
-------
```

dateObj.getUTCDay()
```

### Parâmetros

Nenhum.

### Valor retornado

O valor retornado por `getUTCDay()` é um inteiro correspondente ao dia da semana: 0 para domingo, 1 para segunda-feira, 2 para terça-feira e assim por diante.

Exemplos
--------

### Usando `getUTCDay()`

O exemplo a seguir atribui a parte do dia da semana da data atual à variável `diaDaSemana`.


```js
var hoje = new Date();
var diaDaSemana = hoje.getUTCDay();
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getutcday |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getUTCDate()`
* `Date.prototype.getDay()`
* `Date.prototype.setUTCDate()`
Date.prototype.setUTCHours()
============================

O método **`setUTCHours()`** atribui a hora para a data especificada de acordo com o horário universal, e retorna o número de milissegundos desde 1 de Janeiro de 1970 00:00:00 UTC até o horário representado pela instância `Date` atualizada.

Experimente
-----------

Sintaxe
-------
```

dateObj.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
```

### Parâmetros

`hoursValue`

Um inteiro entre 0 e 23, representando a hora.

`minutesValue`

Opcional. Um inteiro entre 0 e 59, representando os minutos.

`secondsValue`

Opcional. Um inteiro entre 0 e 59, representando os segundos. Se você especificar o parâmetro `secondsValue`, você também deve especificar `minutesValue`.

`msValue`

Opcional. Um número entre 0 e 999, representando os milissegundos. Se você especificar o parâmetro `msValue`, você também deve especificar `minutesValue` e `secondsValue`.

### Valor de retorno

O número de milissegundos entre 1 de Janeiro de 1970 00:00:00 UTC e a data atualizada.

Descrição
---------

Se você não especificar os parâmetros `minutesValue`, `secondsValue`, e `msValue`, os valores retornados dos métodos `getUTCMinutes()`, `getUTCSeconds()`, e `getUTCMilliseconds()` serão utilizados.

Se o parâmetro que você especificou estiver fora do alcance esperado, `setUTCHours()` tentará atualizar a informação da data no objeto `Date`. Por exemplo, se você usa 100 para `secondsValue`, os minutos serão incrementados em 1 (`minutesValue + 1`), e 40 será usado para os segundos.

Exemplos
--------

### Usando `setUTCHours()`


```js
var theBigDay = new Date();
theBigDay.setUTCHours(8);
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setutchours |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getUTCHours()`
* `Date.prototype.setHours()`
Date.prototype.getTimezoneOffset()
==================================

O método **`getTimezoneOffset()`** retorna a diferença, em minutos, do deslocamento de fuso horário entre o UTC (Tempo Universal Coordenado) e a localidade atual.

Sintaxe
-------
```

dateObj.getTimezoneOffset()
```

### Parâmetros

Nenhum

### Valor de retorno

O deslocamento de fuso horário é a diferença, em minutos, entre o UTC (Tempo Universal Coordenado) e o horário local. Perceba que isto significa que o deslocamento será negativo se o fuso horário local está à direita do UTC e positivo se está a esquerda. Por exemplo, se seu fuso horário é UTC+10(Padrão da Austrália Oriental), -600 será retornado. O Horário de verão evita que este valor seja sempre o mesmo para uma determinada localidade.

Exemplo

### Utilizando `getTimezoneOffset()`


```js
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.gettimezoneoffset |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Date.prototype.getUTCFullYear()
===============================

O método **`getUTCFullYear()`** retorna o ano na data indicada de acordo com o horário universal.

Experimente
-----------

Sintaxe
-------
```

dateObj.getUTCFullYear()
```

### Retorna

Um número que representa o ano na data indicada de acordo com o horário universal.

Descrição
---------

O valor retornado por `getUTCFullYear()` é um número absoluto compatível com ano 2000, por exemplo, 1995.

Exemplos
--------

### Usando `getUTCFullYear()`

O exemplo a seguir atribui o valor de 4 dígitos do ano atual à variável `year.`


```js
var today = new Date();
var year = today.getUTCFullYear();
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getutcfullyear |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getFullYear()`
* `Date.prototype.setFullYear()`
Date.prototype.setUTCDate()
===========================

O método **`setUTCDate()`** atribui o dia do mês para uma data especifica de acordo com o horário universal.

Experimente
-----------

Sintaxe
-------
```

dateObj.setUTCDate(dayValue)
```

### Parâmetros

`dayValue`

Um inteiro entre 1 e 31, representando o dia do mês.

### Valor de retorno

O número de milissegundos entre 1 de Janeiro de 1970 00:00:00 UTC e a data atualizada.

Descrição
---------

Se um parâmetro que você especificou está fora do alcance esperado, `setUTCDate()` tentará atualizar a informação da data no objeto `Date`. Por exemplo, se você usar 40 para `dayValue`, e o mês guardado no objeto `Date` é Junho, o dia será trocado para 10 e o mês será incrementado para Julho.

Exemplos
--------

### Usando `setUTCDate()`


```js
var theBigDay = new Date();
theBigDay.setUTCDate(20);
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setutcdate |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getUTCDate()`
* `Date.prototype.setDate()`
Date.prototype.getHours()
=========================

Resumo
------

O método **`getHours()`** retorna a hora para a data especificada, de acordo com a hora local.

Sintaxe
-------
```

dateObj.getHours()
```

### Parâmetros

Nenhum.

### Retorna

O valor retornado por `getHours()` é um inteiro entre 0 e 23.

Exemplos
--------

### Exemplo: Usando `getHours()`

O segundo statement abaixo atribui o valor 23 à variável `hours`, baseado no valor do objeto `Date` `Xmas95`.


```js
var Xmas95 = new Date("December 25, 1995 23:15:30");
var hours = Xmas95.getHours();

console.log(hours); // 23
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.gethours |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getUTCHours()`
* `Date.prototype.setHours()`
Date.prototype.setDate()
========================

O método **`setDate()`** configura o dia do objeto `Date` relativamente ao início do mês configurado previamente.

Experimente
-----------

Sintaxe
-------
```

dateObj.setDate(dayValue)
```

### Parâmetros

`dayValue`

Um número inteiro que representa o dia do mês.

### Valor de retorno

O número de milisegundos entre 1o de janeiro de 1970 00:00:00 UTC e a data indicada (o objeto `Date` é mudado no lugar).

Descrição
---------

Se o `dayValue` estiver fora da extensão de valores de data para o mês, `setDate()` vai atualizar o objeto `Date` consequentemente.

Por exemplo, se 0 for fornecido para `dayValue`, a data será configurada para o último dia do mês anterior.

Se um número negativo for fornecido para `dayValue`, a data será configurada contando-se regressivamente desde o último dia do mês anterior. -1 resultará na data sendo configurada para um dia antes do último dia o mês anterior.

Exemplos
--------

### Usando `setDate()`


```js
var theBigDay = new Date(1962, 6, 7); // 1962-07-07 (7th of July 1962)
theBigDay.setDate(24); // 1962-07-24 (24th of July 1962)
theBigDay.setDate(32); // 1962-08-01 (1st of August 1962)
theBigDay.setDate(22); // 1962-08-22 (22th of August 1962)
theBigDay.setDate(0); // 1962-07-31 (31th of July 1962)
theBigDay.setDate(98); // 1962-10-06 (6th of October 1962)
theBigDay.setDate(-50); // 1962-08-11 (11th of August 1962)
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setdate |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getDate()`
* `Date.prototype.setUTCDate()`
Date.prototype.getMinutes()
===========================

O método **`getMinutes()`** retorna os minutos em uma data específica de acordo com o horário local.

Sintaxe
-------
```

dateObj.getMinutes()
```

### Retorna

Um número inteiro, entre 0 e 59, representando os minutos em uma data de acordo com o horário local.

Exemplos
--------

### Usando o `getMinutes()`

The second statement below assigns the value 15 to the variable `minutes`, based on the value of the `Date` object `Xmas95`.

No exemplo abaixo, a segunda linha atribui o valor 15 à variável `minutes`, baseado no valor de objeto `Global_Objects/Date` `Xmas95`.


```js
var Xmas95 = new Date("December 25, 1995 23:15:30");
var minutes = Xmas95.getMinutes();

console.log(minutes); // 15
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getminutes |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getUTCMinutes()`
* `Date.prototype.setMinutes()`
Date.prototype.toDateString()
=============================

O método **`toDateString()`** retorna a porção da data de um objeto `Date` em um formato legível para humanos em inglês dos Estados Unidos.

Sintaxe
-------
```

objetoDate.toDateString()
```

Descrição
---------

Exemplares de `Date` referem-se a um ponto específico no tempo. Chamar `toString()` retorna a data num formato legível para humanos em inglês dos Estados Unidos. No SpiderMonkey, isso consiste na porção da data (dia, mês e ano) seguida pela porção da hora (horas, minutos, segundos e fuso horário). Ás vezes, deseja-se obter uma string apenas da porção da data; Isso pode ser conseguido com o método `toDateString()`.

`O método toDateString()` é especialmente útil porque motores que implementam o padrão ECMA-262 (en-US) podem divergir na string retornada pelo `toString()` de objetos `Date` , pois o formato é dependente da implentação e abordagens simples que repartem a string podem não produzir resultados consistentes nos vários motores.

Exemplos
--------

### Um uso básico de `toDateString()`


```js
var d = new Date(1993, 6, 28, 14, 39, 7);

console.log(d.toString()); // exibe Wed Jul 28 1993 14:39:07 GMT-0600 (PDT) no log
console.log(d.toDateString()); // exibe Wed Jul 28 1993 no log
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.todatestring |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver também
----------

* `Date.prototype.toLocaleDateString()`
* `Date.prototype.toTimeString()`
* `Date.prototype.toString()`
Date.prototype.toUTCString()
============================

O método **`toUTCString()`** converte uma data para uma cadeia de caracteres (*string*), usando o fuso horário UTC.

Baseado na RFC7231 e modificado de acordo com a ECMA-262 toUTCString, ele pode ter valores negativos na versão de 2021.

Experimente
-----------

Sintaxe
-------
```

dateObj.toUTCString()
```

### Valor de retorno

Uma *string* representando a data usando o fuso horário UTC.

Descrição
---------

O valor retornado por `toUTCString()` é uma *string* no formato `Www, dd Mmm yyyy hh:mm:ss GMT`, onde:

| Formato da String | Descrição |
| --- | --- |
| `Www` | Dia da semana, em três letras (e.g. Sun, Mon, ...) |
| `dd` | Dia do mês, como dois dígitos com zero à esquerda se requisitado |
| `Mmm` | Mês, em três letras (e.g. Jan, Feb, ...) |
| `yyyy` | Ano, como 4 ou mais dígitos com zeros à esquerda se requisitado |
| `hh` | Hora, como dois dígitos com zero à esquerda se requisitado |
| `mm` | Minutos, como dois dígitos com zero à esquerda se requisitado |
| `ss` | Segundos, como dois dígitos com zero à esquerda se requisitado |

Antes do ECMAScript 2018, o formato do valor de retorno variava de acordo com a plataforma. O valor de retorno mais comum era um carimbo de data formatada na RFC-1123, que é uma versão relativamente atualizada dos carimbos de data da RFC-822.

Exemplos
--------

### Usando `toUTCString()`


```js
let today = new Date("Wed, 14 Jun 2017 00:00:00 PDT");
let UTCstring = today.toUTCString(); // Wed, 14 Jun 2017 07:00:00 GMT
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.toutcstring |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.toLocaleString()` (en-US)
* `Date.prototype.toDateString()`
* `Date.prototype.toISOString()`
Date.prototype.setUTCMilliseconds()
===================================

O método **`setUTCMilliseconds()`** atribui os milissegundos para a data especificada de acordo com o horário universal.

Experimente
-----------

Sintaxe
-------
```

dateObj.setUTCMilliseconds(millisecondsValue)
```

### Parâmetros

`millisecondsValue`

Um número entre 0 e 999, representando os milissegundos.

### Valor de retorno

O número de milissegundos entre 1 de Janeiro de 1970 00:00:00 UTC e a data atualizada.

Descrição
---------

Se o parâmetro que você especificou estiver fora do alcance esperado, `setUTCMilliseconds()` tentará atualizar a informação da data no objeto `Date`. Por exemplo, se você usar 1100 para `millisecondsValue`, os segundos guardados no objeto `Date` serão incrementados em 1, e 100 serão usados para os milissegundos.

Exemplos
--------

### Usando `setUTCMilliseconds()`


```js
var theBigDay = new Date();
theBigDay.setUTCMilliseconds(500);
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setutcmilliseconds |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getUTCMilliseconds()`
* `Date.prototype.setMilliseconds()`
Date.prototype.getDate()
========================

Resumo
------

O método **`getDate()`** retorna o dia do mês da data especificada de acordo com a hora local.

Sintaxe
-------
```

dateObj.getDate()
```

### Parâmetros

Nenhum.

### Retorna

O valor retornado por `getDate()` é um inteiro entre 1 e 31.

Exemplos
--------

### Exemplo: Usando `getDate()`

O segundo statement abaixo atribui o valor 25 à variável day, baseado no valor do objeto `Date` `Xmas95`.


```js
var Xmas95 = new Date("December 25, 1995 23:15:30");
var day = Xmas95.getDate();

console.log(day); // 25
```

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getdate |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Date.prototype.getUTCDate()`
* `Date.prototype.getUTCDay()`
* `Date.prototype.setDate()`