as funções de JavaScript são definidas com a palavra-chavefunction
.
pode usar uma declaração de função ou uma expressão de função.
Declarações de Função
Anteriormente neste tutorial, você aprendeu que as funções são declaradas com a seguinte sintaxe:
// código a ser executado
}
Declarado funções não são executadas imediatamente. Eles são “salvos para uso posterior”, e serão executados mais tarde, quando forem invocados (chamados).
Exemplo
return a * b;
}
Tente você Mesmo ”
ponto-e-vírgula para separar o executável de instruções de JavaScript.
Uma vez que uma declaração de função não é uma declaração executável, não é comum terminá-la com um ponto e vírgula.
expressões de função
uma função JavaScript também pode ser definida usando uma expressão.
uma expressão de função pode ser armazenada numa variável:
exemplo
Tente você Mesmo ”
Depois de uma expressão de função tem sido armazenada em uma variável, a variável pode ser usada como uma função:
Exemplo
var z = x(4, 3);
Tente você Mesmo ”
A função acima é, na verdade, uma função anônima (uma função sem nome).
funções armazenadas em variáveis não precisam de nomes de funções. Eles são sempre invocados (chamados) usando o nome da variável.
a função acima termina com um ponto e vírgula Porque faz parte de uma declaração executável.
a função() Construtor
como você já viu nos exemplos anteriores, funções JavaScript são definidas com a palavra-chave function
.
funções também podem ser definidas com um construtor de função JavaScript chamado Function()
.
Exemplo
var x = myFunction(4, 3);
Tente você Mesmo ”
Você realmente não precisa usar a função de construtor. O exemplo acima é o mesmo que escrever:
Exemplo
var x = myFunction(4, 3);
Tente você Mesmo ”
a Maior parte do tempo, você pode evitar o uso do new
palavra-chave em JavaScript.
função içada
anteriormente neste tutorial, você aprendeu sobre “içar” (içar JavaScript).
Hoisting é o comportamento padrão de JavaScript de mover declarações para o topo do escopo atual.
o içamento aplica-se às declarações variáveis e às declarações de funções.
Devido a isso, as funções JavaScript pode ser chamado antes de serem declarados:
function minhafuncao(y) {
retornar y * y;
}
Funções definidas usando uma expressão não são içadas.
funções de auto-Invocação
expressões de função podem ser feitas “auto-invocação”.
uma expressão de auto-invocação é invocada (iniciada) automaticamente, sem ser chamada.
as expressões de funções serão executadas automaticamente se a expressão for seguida por ().
não pode invocar uma declaração de função.
Você tem que adicionar parênteses em torno da função para indicar que é uma expressão de função:
Exemplo
var x = “Olá!!”; / / Eu me invocarei
})();
Tente você mesmo ”
a função acima é na verdade uma função anônima de auto-invocação (função sem nome).
Funções Podem Ser Usadas como Valores
funções de JavaScript pode ser usado como valores:
Exemplo
return a * b;
}
var x = myFunction(4, 3);
Tente você Mesmo ”
funções de JavaScript pode ser usado em expressões:
Exemplo
return a * b;
}
var x = myFunction(4, 3) * 2;
Tente você Mesmo ”
Funções são Objetos
O em JavaScript retorna “função” para as funções.
But, JavaScript functions can best be described as objects.
funções JavaScript têm propriedades e métodos.
a propriedade arguments.length
devolve o número de argumentos recebidos quando a função foi invocada:
exemplo
argumentos de retorno.comprimento;
}
Tente você Mesmo ”
O toString()
método retorna a função como uma seqüência de caracteres:
Exemplo
return a * b;
}
var txt = myFunction.toString ();
Tente você mesmo ”
uma função definida como a propriedade de um objeto, é chamada de um método para o objeto.
uma função projetada para criar novos objetos, é chamada de construtor de objetos.
funções de seta
funções de seta permite uma sintaxe curta para escrever expressões de função.
você não precisa da palavra-chave function
, da palavra-chave return
, e dos suportes encaracolados.
Exemplo
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Tente você Mesmo ”
Seta funções não têm a sua própria this
.Eles não são adequados para definir métodos de objeto.
as funções da Seta não são içadas. Devem ser definidos antes de serem utilizados.
usar const
é mais seguro do que usar var
, porque uma expressão de função é sempre valor constante.
só pode omitir a palavra-chave return
e os parêntesis encaracolados se a função for uma única declaração. Devido a isso, ele pode ser um bom hábito para mantê-los sempre:
Exemplo
Tente você Mesmo ”
Seta funções não são suportadas no IE11 ou anterior.