Funções de JavaScript são definidas com a function palavra-chave.
Você 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 funções são declaradas com a seguinte sintaxe:
function functionName ( parameters ) {
code to be executed
}
funções declaradas não são executados imediatamente. Eles estão "salvos para uso posterior", e será executado mais tarde, quando eles são chamados (chamados).
Semicolons são utilizados para separar as instruções JavaScript executáveis.
Desde uma declaração de função não é uma declaração executável, ele não é comum para terminá-la com um ponto e vírgula.
As expressões de função
Uma função JavaScript também pode ser definida utilizando uma expressão.
Uma expressão de função podem ser armazenados numa variável:
Depois de uma expressão de função tem sido armazenado em uma variável, a variável pode ser usado como uma função de:
A função acima é realmente uma função anônima (uma função sem um nome).
Funções armazenados em variáveis não precisam de nomes de função. Eles estão sempre invocado (chamado) usando o nome da variável.
A função acima termina com um ponto e vírgula, porque é uma parte de uma instrução executável.
A Function() Constructor
Como você viu nos exemplos anteriores, as funções de JavaScript são definidas com a function palavra-chave.
As funções também podem ser definidos com um built-in JavaScript função de construtor chamada Function() .
Exemplo
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Tente você mesmo " Você realmente não tem que usar o construtor função. O exemplo acima é a mesma como a escrita:
Exemplo
var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);
Tente você mesmo " Na maioria das vezes, você pode evitar o uso da new palavra-chave em JavaScript.
Function Hoisting
Anteriormente, neste tutorial, você aprendeu sobre "hoisting" .
Elevação é o comportamento padrão do JavaScript de mover declarações ao topo do escopo atual.
Içar aplica-se a declarações de variáveis e declarações de função.
Devido a isso, as funções de JavaScript pode ser chamado antes que eles são declarados:
myFunction(5);
function myFunction(y) {
return y * y;
}
Funções definidas usando uma expressão não são içadas.
Funções auto-Invocando
As expressões de função pode ser feita "auto-invocação".
A expressão auto-invocando é invocado (iniciado) automaticamente, sem ser chamado.
As expressões de função irá executar automaticamente se a expressão é seguido por () .
Você não pode auto-invocar uma declaração da função.
Você tem que adicionar parênteses ao redor da função para indicar que é uma expressão de função:
A função acima é na verdade uma função de auto-invocando anônima (função sem nome).
As funções podem ser utilizados como valores
funções JavaScript podem ser utilizados como valores:
funções de JavaScript pode ser usado em expressões:
Funções são Objetos
O typeof operador em JavaScript retorna "function" para as funções.
Mas, funções de JavaScript pode ser melhor descrito como objetos.
Funções de JavaScript têm ambas as propriedades e métodos.
A propriedade arguments.length retorna o número de argumentos recebidos quando a função foi invocado:
O toString() método retorna a função como uma string:
Exemplo
function myFunction(a, b) {
return a * b;
}
var txt =
myFunction.toString();
Tente você mesmo " Uma função definida como a propriedade de um objeto, é chamado um método para o objeto.
Uma função projetada para criar novos objetos, é chamado de um construtor do objeto.