tutoriais mais recente desenvolvimento web
 

JavaScript Definições de função


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).

Exemplo

function myFunction(a, b) {
    return a * b;
}
Tente você mesmo "

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:

Exemplo

var x = function (a, b) {return a * b};
Tente você mesmo "

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:

Exemplo

var x = function (a, b) {return a * b};
var z = x(4, 3);
Tente você mesmo "

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:

Exemplo

(function () {
    var x = "Hello!!";      // I will invoke myself
})();
Tente você mesmo "

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:

Exemplo

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3);
Tente você mesmo "

funções de JavaScript pode ser usado em expressões:

Exemplo

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3) * 2;
Tente você mesmo "

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:

Exemplo

function myFunction(a, b) {
    return arguments.length;
}
Tente você mesmo "

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.