Si necesita crear una función en JavaScript, hay dos métodos: declaración funcional, expresión de funciones, cada escritura es la siguiente:
// Método 1: Declaración funcional foo () {} // Método 2: Expresión de funciones var foo = function () {};Además, existe una expresión de funciones auto -ejecutada, que se usa principalmente para crear un nuevo alcance.
(function () {// var x = ...}) ();Esta expresión de la función autoexpresada se clasifica como el segundo método de los dos métodos anteriores, que también pueden considerarse como una expresión funcional.
Los métodos 1 y el método II crearon una función y la llamaron Foo, pero hay diferencias entre los dos. Existe un mecanismo que existe en el intérprete de JavaScript que se promueve (elevación), lo que significa que la declaración de una variable (función) se promoverá a la vanguardia del alcance.
Por ejemplo, el siguiente segmento de código:
alerta (foo) ;/ // function Bar_fn () {}Los resultados de la salida son funciones foo () {}, indefinidas, funciones foo () {} y function bar_fn () {}.
Se puede ver que la declaración del FOO está escrita después de la alerta, y aún se puede llamar correctamente porque el intérprete JavaScript lo elevará a la alerta frontal, y la barra de funciones creada por la expresión de la función no disfruta de este tratamiento.
Entonces, ¿se mejora la barra?
Por lo tanto, el orden del código anterior del motor JavaScript puede ser así:
Nota:
Estrictamente hablando, si crea una función en JavaScript, hay otro método, llamado "Método de estructura de funciones":
var foo = function ('alerta ("¡Hola!");'); Este método utiliza una cadena como parámetro para formar un cuerpo de funciones. Sin embargo, en este método, la eficiencia de ejecución se descartará, y parece que los parámetros no se pueden pasar, por lo que es mejor usar menos.