as funções JavaScript são definidas com ofunction palavra-chave.
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).
Example
return a * b;
}
Try it Yourself ”
Semicolons are used to separate executable JavaScript statements.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 armazenado em uma 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).as 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 instrução executável.
A Função() Construtor
Como você viu nos exemplos anteriores, o JavaScript funções são definidas com a tag function palavra-chave.
funções também podem ser definidas com um construtor de função JavaScript incorporado 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 de new palavra-chave em JavaScript.,
função Hoisting
Mais cedo neste tutorial, você aprendeu sobre “hoisting” (JavaScript Hoisting).
içar é 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) {
retorno 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 da função
serão executadas automaticamente se a expressão for seguida por ().
Você não pode invocar uma declaração de função.
Você tem que adicionar parêntesis em torno da função para indicar que é uma expressão da função:
exemplo
var x = ” Hello!!,”; / / I will invoke myself
}) ();
Try it Yourself ”
The function above is actually an anonymous self-invooking function (function without name).,
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 ”
as Funções são Objetos
typeof operador 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.
arguments.length propriedade retorna o número de argumentos recebidos quando a função foi invocada:
Exemplo
retorno argumentos.length;
}
Try it Yourself “
The toString() method return the function as a string:
Example
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ções.
Você não precisa do id
palavra-chave, o id
palavra-chave, e os 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.
Usando consté mais seguro do que usar var, porque uma expressão de função é sempre valor constante.,
só pode omitir o id
a palavra-chave 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 sempre mantê-los:
Exemplo
Tente você Mesmo ”
Seta funções não são suportadas no IE11 ou anterior.