MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

function

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

A declaração function define uma função com os especificados parâmetros.

Você pode também definir funções usando o construtor Function  e uma function expression.

Sintaxe

function name([param,[, param,[..., param]]]) {
   [statements]
}
name
O nome da função.
param
O nome de um argumento a ser passado para a função. Uma função pode ter atè 255 argumentos.
statements
As instruções que compõem o corpo da função.

Descrição

Uma função criada com uma declaração function é um objeto Function e tem todos as propriedades, métodos e comportamentos dos objetos Function. Veja Function para detalhadas informações sobre as funções.

Uma função pode também ser criada usando uma expressão (veja function expression).

Por padrão, funções retornam undefined. Para retornar qualquer outro valor, a função precisa ter uma instrução return que especifica o valor para retorno.

Criando funções condicionalmente.

Funções podem ser condicionalmente declaradas, isso é, uma instrução de função pode ser aninhada dentro de uma instrução if. A maioria dos navegadores que não sejam Mozilla irá tratar essas declarações condicionais como uma incondicional e criará a função se a condição for true ou não, veja esse artigo para uma visão geral. Portanto ela não pode ser usanda, para  criação de expressões de função condicional.

Declarações de funções hoisting

Declarações de funções em JavaScript são hoisting a definição da função. Você pode usar function antes de você  ter declarado ela:

hoisted(); // logs "foo"

function hoisted() {
  console.log("foo");
}

Note que function expressions não são hoisted:

notHoisted(); // TypeError: notHoisted is not a function

var notHoisted = function() {
   console.log("bar");
};

Exemplos

Usando funções

O seguinte código declara uma função que retorna o quantidade total das vendas, quando dado o número de unidades de produtos vendidos a, b e c.

function calc_sales(units_a, units_b, units_c) {
   return units_a*79 + units_b * 129 + units_c * 699;
}

Especificações

Specification Status Comment
ECMAScript 2016 Draft (7th Edition, ECMA-262)
The definition of 'Function definitions' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Function definitions' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Function definition' in that specification.
Standard  
ECMAScript 3rd Edition (ECMA-262)
The definition of 'Function definition' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262)
The definition of 'Function definition' in that specification.
Standard Definição inicial. Implementado em JavaScript 1.0.

Compatibilidade com navegadores

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: YurePereira
 Última atualização por: YurePereira,