+function () {} ();O sinal de mais aqui também pode ser substituído por outros operadores unários, como!, ~, E o efeito é equivalente a:
(function () {console.log ("foo!");}) (); // ou (function () {console.log ("foo!");} ());Sem esse sinal de mais, o analisador pensará que a função é o começo de uma declaração de função e o subsequente () causará um erro de sintaxe. Quando o sinal + é adicionado antes da função, ele se torna uma expressão de função e quando A () é adicionado após a expressão da função, ela se torna uma função imediatamente executada.
Vamos dar uma olhada na função do ponto de exclamação em frente à função JS:
1. Formulário de declaração da função JS
função fna () {alert ('msg');} // função de definição de declaração2. Formulário de expressão da função JS
var func = function (agr1, arg2) {// crie alerta de função anônima (arg1 + '' + arg2);}3. Formatos comuns para executar imediatamente após a declaração de função anônima JS
(function () { / * code * /}) ();ilustrar
1. O primeiro par de colchetes ao redor da função (function () {}) retorna a função sem nome ao script e, em seguida, um par de colchetes vazios executa imediatamente a função não nomeada, com os parâmetros da função anônima nos colchetes.
2. Use colchetes para definir o corpo da função e o analisador chamará a função de definição na forma de uma expressão de função. Em outras palavras, qualquer método que possa transformar uma função em uma expressão de função pode permitir que o analisador chamar a função definida corretamente. E! é um deles e + - || tem tal função.
3. A função dessa função é principalmente de execução anônima e automática.