Este artigo descreve o uso de funções anônimas em JavaScript. Compartilhe para sua referência. A análise específica é a seguinte:
resumo:
Este artigo explica a coisa mais básica e importante sobre o JavaScript - funções. A razão pela qual escrevi este artigo é porque pedi durante a entrevista, que também é considerada revisando o passado e aprendendo o novo.
Vamos dar um exemplo primeiro. Se você entende, significa que você entendeu sobre o que este artigo vai falar.
Copie o código da seguinte forma: var f = (function () {
função f () {return 10;}
retornar f ();
função f () {return 20;}
var f = 30;
}) ();
console.log (f);
Na programação avançada JavaScript, as funções são descritas dessa maneira - elas podem encapsular qualquer número de instruções e podem ser chamadas e executadas em qualquer lugar e a qualquer momento. Eu já introduzi o modo rigoroso antes, e o modo rigoroso tem algumas limitações nas funções:
① A função não pode ser nomeada avaliação ou argumentos
② Os parâmetros não podem ser nomeados como avaliação ou argumentos
③ Dois parâmetros nomeados não podem ser o mesmo nome
A situação acima causará erros de sintaxe e o código não será executado.
Definição da função
As definições de função são divididas em três tipos
1. Construtor
A cópia do código é a seguinte: var FURS = new Funciton ();
2. Definição comum
Copie o código da seguinte forma: function fun () {}
3. Definição funcional
A cópia do código é a seguinte: var fun = function () {};
Todas as três maneiras podem definir a função divertida.
parâmetro
As funções não se importam com quantos parâmetros são transmitidos, nem se preocupam com qual tipo de dados os parâmetros passaram. Mesmo se a função que você definir apenas recebe dois parâmetros, você pode não necessariamente passar dois parâmetros ao chamar essa função. Um ou três podem ser aprovados ou mesmo nenhum parâmetros. O motivo é que os parâmetros são representados internamente por uma matriz. No corpo da função, você pode acessar a matriz de parâmetros através do objeto de argumentos, por exemplo
Copie o código da seguinte forma: função dizhi () {
alerta ("hello" + argumentos [0] + "," + argumentos [1]);
}
Ao acessar a propriedade de comprimento do objeto de argumentos, podemos saber quantos parâmetros existem. O comprimento da função retornará o número de parâmetros da função.
Nota: Todos os parâmetros passam valores e é impossível passar parâmetros por meio de referências.
As funções não podem ser sobrecarregadas, elas só podem ser reescritas.
Se duas funções com o mesmo nome forem definidas, o nome pertence à última função definida, por exemplo:
A cópia do código é a seguinte:
função add (num) {
retornar num + 100;
}
função add (num) {
retornar num + 200;
}
var resultado = add (100) // 300
NOTA: A função para e sai imediatamente após a execução da instrução Retorno.
Tipos de funções
As funções são divididas em dois tipos: uma função de nome e função anônima. Por exemplo, a seguinte função famosa
Copie o código da seguinte forma: function fun () {
}
Se chamado, apenas divertido () é necessário.
Funções anônimas, como o nome indica, não têm nomes de funções. Por exemplo
function () {}
As chamadas de função são chamadas por meio de nomes de funções. Como chamar funções anônimas? Uma é atribuir uma função anônima a uma variável, permitindo que essa variável atue como o nome da função. Outra maneira é usar () para chamá -lo, por exemplo, os três métodos a seguir
1. (Function () {return;} ());
2. (Function () {return;}) ();
3. Function () {return;} ();
exemplo:
A cópia do código é a seguinte:
(função (x, y) {
Alerta (x + y);
}) (2,3);
// alerta (5)
2 e 3 serão passados como parâmetros para x e y
Vamos falar sobre o exemplo superior. Este exemplo envolve fechamentos, que serão discutidos mais adiante.
Primeiro, defina uma variável f e depois atribua uma função anônima. Aqui precisamos observar que as definições de todas as variáveis na função serão predefinidas, de modo que a ordem de execução na função anônima é
A cópia do código é a seguinte:
var f = (function () {
Var f = 30;
função f () {return 10;}
função f () {return 20;}
retornar f ();
}) ();
A variável externa F e a variável interna f não estão no mesmo escopo (fechamento), portanto não se afetam. Como a função não pode ser sobrecarregada, a variável externa f = (função f () {return 20;}) ();, portanto, a saída final é 20.
Espero que este artigo seja útil para a programação JavaScript de todos.