Se você precisar criar uma função no JavaScript, existem dois métodos: declaração funcional, expressão de função, cada escrita é a seguinte:
// Método 1: Declaração funcional foo () {} // Método 2: função expressão var foo = function () {};Além disso, existe uma expressão de função auto -executada, que é usada principalmente para criar um novo escopo.
(function () {// var x = ...}) ();Essa expressão de função auto -executada é classificada como o segundo método dos dois métodos acima, que também podem ser considerados como expressão funcional.
Os métodos 1 e o método II criaram uma função e o chamaram de Foo, mas existem diferenças entre os dois. Existe um mecanismo que existe no intérprete JavaScript que é promovido (içar), o que significa que a afirmação de uma variável (função) será promovida à vanguarda do escopo.
Por exemplo, o seguinte segmento de código:
alerta (foo); // function bar_fn () {}Os resultados da saída são funções foo () {}, indefinidas, funções foo () {} e function bar_fn () {}.
Pode -se observar que a declaração do Foo é escrita após o alerta e ainda pode ser chamada corretamente porque o intérprete JavaScript o aumentará para o alerta frontal, e a barra de função criada pela expressão de função não gosta desse tratamento.
Então, a barra está sendo aprimorada?
Portanto, a ordem do código acima do mecanismo JavaScript pode ser assim:
Observação:
Estritamente falando, se você criar uma função em JavaScript, há outro método chamado "Método da estrutura da função":
var foo = function ('alerta ("oi!");'); Este método usa uma sequência como um parâmetro para formar um corpo de função. No entanto, nesse método, a eficiência da execução será descontada e parece que os parâmetros não podem ser passados, por isso é melhor usar menos.