As funções anônimas podem efetivamente garantir que o JavaScript seja escrito na página sem fazer com que as variáveis globais sejam contaminadas.
Isso funciona muito bem e é bonito ao adicionar JavaScript a uma página que não é muito familiar.
1. O que é uma função anônima?
Geralmente, existem três maneiras de definir uma função no JavaScript:
Declaração de palavra -chave da função:
função fnmethodName (x) {alert (x);}
Funções literais:
var fnmethodName = function (x) {alert (x);}
Function () construtor:
var fnmethodName = new Função ('x', 'Alert (x);'))
Os três métodos acima definem a mesma função de método fnmethodName.
O primeiro é o método mais comumente usado. Os dois últimos devem copiar uma função para a variável fnmethodName, e essa função não tem nome, ou seja, função anônima.
De fato, muitos idiomas têm funções anônimas.
2. A diferença entre os literais da função e os construtores da função ()
Embora a função literal seja uma função anônima, a sintaxe permite que ela seja especificada com qualquer nome de função. Pode ser chamado ao escrever uma função recursiva, mas não pode ser feita usando o construtor function ().
var f = Função da função (x) {if (x <= 1) return 1; caso contrário, retorne x*fact (x-1); };
O construtor function () permite a criação e a compilação dinâmica do código JavaScript no tempo de execução. Dessa maneira, é semelhante à função global Eval ().
O construtor function () analisa o corpo da função toda vez que for executado e cria um novo objeto de função. Portanto, a eficiência de chamar o construtor function () em um loop ou função frequentemente executada é muito baixa. Pelo contrário, os literais da função não são recompilados toda vez que o encontram.
Ao criar uma função com o construtor function (), ele não segue o escopo típico, ela sempre a executa como uma função de nível superior.
var y = "global";
function constructfunction () {var y = "local"; retornar nova função ("retornar y"); // não pode obter variável local} alert (constructfunction () ()); // Saída "Global" e Função A definição de palavras -chave têm suas próprias características e são muito mais difíceis de usar do que os construtores function ().
Portanto, essa tecnologia geralmente é raramente usada.
A função Literal Expression and Função Definição de palavras -chave são muito semelhantes.
Considerando a diferença anterior, embora haja mensagens dizendo que as funções anônimas literais têm bugs sob certos mecanismos de webkit sob o OS X 10.4.3,
Mas o que geralmente chamamos de funções anônimas se refere a funções anônimas que usam a forma literal de função.
3. Modo de código de funções anônimas
Modo de erro: não pode funcionar, o navegador reportará um erro de sintaxe.
function () {alert (1); } ();
Função Literais: Declare primeiro um objeto de função e depois o execute.
(function () {alert (1);}) ();
Expressão preferencial:
(function () {alert (2);} ());
operador vazio:
function void () {alert (3); } () são iguais. Hedger Wang prefere o terceiro tipo por motivos pessoais, enquanto em aplicativos reais, vejo e uso o primeiro tipo.
4. Aplicação de funções anônimas
A primeira frase em "Um padrão de javascript" é "as variáveis globais são o diabo".
Com a palavra -chave VAR, as funções anônimas podem efetivamente garantir que o JavaScript seja escrito na página sem causar poluição às variáveis globais.
Isso funciona muito bem e é bonito ao adicionar JavaScript a uma página que não é muito familiar.
De fato, Yui e seus exemplos correspondentes usam muitas funções anônimas e outras bibliotecas de JavaScript também usam muitas delas.
A pedra angular da programação funcional em JavaScript.
Para detalhes, consulte "Escrevendo belo JavaScript com tecnologia de programação funcional" e "Guia para programação funcional de JavaScript".
A explicação detalhada acima do uso e vantagens e desvantagens das funções anônimas no JavaScript é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.