Este artigo descreve o uso de funções anônimas em JavaScript. Compartilhe para sua referência. Os detalhes são os seguintes:
1. Defina uma função
No JavaScript, uma função pode ser definida através de "Declaração de Função" e "Expressão da Função", por exemplo
1. Defina uma função através da "declaração de função"
função t1 () {}2. Defina uma função através da "expressão da função"
T2 = function () {}No entanto, as duas maneiras de definir funções têm efeitos diferentes
T1 é uma declaração de função. Quando 'Análise Lexical', Ao.t1 = function () {}, ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T2 é uma operação de atribuição. Quando 'Run', Ao.t2 = function () {}, o valor é o resultado retornado pela expressão à direita e só funciona no estágio 'Run'.
2. Funções anônimas
No JavaScript, a instrução em colchetes () é executada como uma expressão. Como mencionado acima, você pode usar a "expressão da função" para definir uma função, para que possamos definir uma função em (), como
(função t3 () {alert ('eu sou t3');})Se a função não usar o nome, modifique -o da seguinte forma
(function () {alert ('eu sou t3');})Como a instrução contida em () é uma expressão, ela tem um valor de retorno. O valor de retorno de (function () {alert ('eu sou t3');}) é uma função definida e pode ser chamada imediatamente, como
(function () {alert ('eu sou t3');}) () ()Portanto, uma função sem nome é definida entre colchetes (), que é chamada de função anônima. Esse método, funções anônimas, executado imediatamente sem poluir a situação global, é chamado de execução de expressões de função imediatamente.
3. JQuery é uma função anônima
O código de jQuery é encapsulado em uma função anônima, que é o código mais externo do jQuery:
(function (janela, indefinido) {}) (janela); // ligue agoraMas por que o jQuery passa pela janela, mas não indefinido?
Resposta: Passar a janela é encontrar velocidade e reduzir o tempo para consultar variáveis. Por exemplo, o seguinte código JS
function () {function () {function () {function () {function () {document.getElementById (); // Este documento será pesquisado camada por camada ao longo do escopo até a janela mais externa globalmente. }}}}O jQuery deve acelerar a pesquisa interna de variáveis locais e passar diretamente a janela como parâmetros, para que a janela esteja no AO dentro do jQuery.
É para fins de segurança não passar indefinidos, porque nas versões mais baixas do IE e FF, indefinidas, pode ser realmente transferido, como indefinido = 3;
Declare a variável local indefinida (o nome é indefinido) e, ao mesmo tempo, sem passar os parâmetros, o valor é naturalmente indefinido
Espero que este artigo seja útil para a programação JavaScript de todos.