Estou escrevendo um guia de estilo JavaScript para minha equipe, para que possamos organizar e contribuir com nossos documentos com mais facilidade. Mas eu bati um pequeno solavanco que é onde minha pergunta se aplica ...
O que devo chamar de uma função JavaScript anônima chamada imediatamente. Eu sei que poderia simplesmente chamá-lo de "função anônima", mas gostaria de enfatizar o fato de que está sendo chamado imediatamente.
Aqui está um exemplo:
var MyVariable = (function(data){
return "another value"
})("some value");
console.log(MyVariable);
// "another value"
javascript
coding-style
terminology
silentBeep
fonte
fonte
Respostas:
Eles já têm um termo para isso no mundo Javascript. Eles são chamados de Expressões de Função Invocadas Imediatamente (IIFE) .
O que é isso
As funções IIFE não recebem um nome. Em vez disso, eles são executados uma vez quando o intérprete os encontra:
Os parênteses finais após o fechamento entre chaves do bloco de código informam ao intérprete que chame a expressão de função imediatamente.
Se você escrever uma declaração de função, deverá adicionar operadores de agrupamento , ou parênteses, ao redor da função, para solicitar ao intérprete que trate a função como uma expressão que pode ser chamada imediatamente:
Quando eles são usados
Os IIFEs são usados para códigos que precisam ser executados apenas uma vez em uma tarefa, em vez de serem chamados repetidamente.
fonte
var area = ...
, você não precisa dos parênteses de "quebra automática" da função, porque ela já é uma expressão de função em virtude de estar no lado direito do=
. Os parênteses de quebra automática são necessários apenas quando a função é gravada como uma declaração de função (ou seja, sem o iníciovar area = ...
).