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.