La fiesta de la clase hace dos días, a excepción de comer, beber, divertirse y dormir sin sentido, fue muy alegre. Fue realmente mejor divertirse solo que divertirse.
PD: Si se gradúa o está a punto de graduarse, puede reunirse si tiene tiempo. Después de la graduación, tendrá muy poco tiempo para reunirse.
Ahora tengo tiempo para mirar algo y resumir algo. Debido a que miré la parte de JavaScript hace unos minutos, me tomé el tiempo para resumir las partes relevantes de la función. Por supuesto, algunas partes son mi propia comprensión. Si hay algún entendimiento incorrecto, por favor, apírtelo.
En esta sección, hablaré con usted sobre la declaración de la declaración de función de antemano en función de mi propia comprensión.
Nota: En algunos lugares, también se llama promoción de la declaración de función. Las traducciones son diferentes, los significados son los mismos, solo entiéndelas. ¡Vivir comprensión!
Antes de conversar sobre la declaración de la declaración de función por adelantado, es necesario introducir varios métodos de definición de función, con los que la mayoría de los amigos deben estar familiarizados. Si entiende o no quiere entender, enrolle felizmente. Si no sabe o quiere familiarizarse con él, disminuya la velocidad y comience.
Métodos para definir funciones
Hay tres formas principales de definir funciones:
1. Declaración de funciones
2. Expresión de expresión de función de función)
3. Constructor de funciones nuevas
Entre ellos, a menudo se utilizan métodos de definición de función para declaraciones de funciones y expresiones de funciones. Estos dos métodos tienen diferencias y conexiones muy sutiles, y el uso de estos dos métodos es fácil de confundir. Por lo tanto, este artículo resume principalmente los puntos de conocimiento relevantes de estos dos métodos de definición de funciones. Por supuesto, el tema de este artículo todavía se trata de funciones de antemano.
Formato típico para las declaraciones de funciones:
function functionName (arg1, arg2, ...) {<!-function body->}Expresiones de funciones
• Formato típico de expresiones de funciones:
var variable = function (arg1, arg2, ...) {<!-function body->}Expresión de función que contiene nombres (corchetes, nombres de funciones):
var variable = function functionName (arg1, arg2, ...) {<!-function body->}Las expresiones de funciones con nombres como los anteriores se pueden usar para la recursión:
var variable = function functionName (x) {if (x <= 1) return 1; else return x*functionName (x);}Declaración antes de lo previsto
Declaración VAR por adelantado
Los amigos deberían haber oído hablar de la declaración de antemano. Me gustaría reiterarlo aquí, porque la declaración de antemano es una diferencia importante entre una declaración de función y una expresión de funciones, y es de gran importancia para nosotros comprender mejor estos dos métodos de definición de funciones.
Pero antes de que la declaración de función sea de antemano, es necesario decir que la declaración de VAR es de antemano.
Primero dale la conclusión temprana de la declaración VAR:
Las variables se definen en el script o función que las declara, y la declaración de declaración de variable se avanzará a la parte superior del script o función. Sin embargo, la operación de inicialización de la variable todavía se ejecuta en la instrucción VAR original, y el valor de la variable no está definido antes de declararse la declaración.
Se pueden resumir tres puntos simples de la conclusión anterior:
1. La declaración de la variable se avanzará a la parte superior de la función;
2. Es solo que la declaración se avanzó, la inicialización no se avanza y la inicialización aún se inicializa en la ubicación de inicialización original;
3. El valor de la variable no está definido antes de la declaración.
Tomemos el ejemplo:
var guapo = 'Handsome'; function Handsometougly () {Alert (Handsome); var guapo = 'feo'; alerta (guapo);} Handsometougly ();La salida correcta es:
Primera salida indefinida, luego salida fea.
La salida de error es:
Primero saliendo guapo, luego salida fea.
Esto es exactamente lo que la declaración variable juega por adelantado. La hermosa variable local se define en todo el cuerpo de la función. Se suprime la variable hermosa en el cuerpo de la función. Oh no, cubre la hermosa variable global del mismo nombre, porque la declaración de la variable avanza, es decir, el VAR Handsome se avanza a la parte superior de la función, que es así:
var guapo = 'Handsome'; function Handsometougly () {var Handsome; alerta (guapo); var guapo = 'feo'; alerta (guapo);} Handsometougly ();Entonces, antes de la alerta (guapo), ya hay una declaración de Var Handsome, como se mencionó anteriormente
El valor de la variable no está definido antes de la declaración
Entonces la primera salida no está definida.
Y debido a lo mencionado anteriormente:
Es solo que la declaración avanzó, la inicialización no se avanza, la inicialización aún se inicializa en la ubicación de inicialización original.
Entonces la segunda salida es fea.
Declaración de funciones de antemano
Los próximos dos, comenzaremos a charlar sobre la declaración de la declaración de función de antemano en combinación con la declaración VAR.
Los amigos deben estar familiarizados con la declaración de la declaración de función por adelantado, así que da un ejemplo que sea muy familiar.
sayTruth (); <S-Declaración de funciones-> función saystruth () {alert ('myvin es guapo.');} saytruth (); <!-Expresión de funciones-> var saystruth = function () {alert ('myvin es guapo.');}Todos los amigos saben que el método de definición de función de la declaración de función, es decir, el primer método de llamadas de función anterior es correcto, y la verdad de que Myvin es guapo. se puede emitir, porque la declaración de llamadas de función se puede colocar después de la declaración de función. Para el método de definición de función de expresión de funciones, es decir, el método de la segunda llamada de función anterior no puede generar el resultado correcto de myvin es guapo.
Combinado con el myvin anterior es guapo. Ejemplo, la conclusión de la declaración de función de antemano parece fácil de entender. ¿No es solo que al usar el método de definición de función de la declaración de función, la llamada de función se puede colocar en cualquier lugar? Sí, tienes razón, amigo mío, no sé cómo refutarte. Entonces déjame decirte algunas palabras más.
De lo que dijo mi amigo
¿No es solo que al usar métodos de definición de función para declaraciones de funciones, las llamadas de funciones se pueden colocar en cualquier lugar?
Puede conducir a un poco:
Cuando avanza la declaración de función, la declaración de función y el cuerpo de la función están avanzados.
y:
Las declaraciones de funciones se ejecutan durante el período de pre-ejecución, es decir, las declaraciones de función se ejecutan cuando el navegador está listo para ejecutar código. Debido a que la declaración de función se ejecuta durante el período de ejecución esperado, la declaración de función ya no se ejecuta durante el período de ejecución (hay personas que ya la han ejecutado, y naturalmente ya no se ejecutarán).
Arriba hay un punto.
¿Por qué no se puede declarar de antemano la expresión de función?
Hablemos de una cosa más: ¿por qué no se pueden declarar de antemano expresiones de función como declaraciones de funciones?
Afortunadamente, sé un poco, de lo contrario, realmente no sé cómo debería responder.
Ejem, según mi entendimiento, déjame explicarte:
Dijimos anteriormente la declaración VAR por adelantado, preste atención a lo que mencioné anteriormente:
Es solo que la declaración avanzó, la inicialización no se avanza, la inicialización aún se inicializa en la ubicación de inicialización original.
Ok, pongamos la expresión de la función aquí:
var variable = function (arg1, arg2, ...) {<!-function body->}Las expresiones de funciones son la forma de escribir definiciones de funciones en expresiones (parece ser una pérdida de tiempo, pero esto es efectivo para interpretar y comprender que las expresiones de funciones no se pueden declarar por adelantado), que es asignar un objeto de función a una variable, por lo que escribimos la expresión de la función así:
var variable = 5 Al ver esto, tal vez los amigos entiendan que uno es asignar un valor a una variable, y el otro es asignar un objeto de función a una variable. Por lo tanto, para las expresiones de funciones, la asignación de variables no se avanzará, es decir, la función (arg1, arg2, ...) {<!-Function Body->} no avanzará, por lo que la definición de la función no se ejecuta, por lo que las expresiones de funciones no pueden ser predeclaradas como declaraciones de funciones.
Analizar la instancia temprana de la declaración de funciones
La misma oración, la realidad es del ejemplo:
saytruth (); if (1) {function saytruth () {alert ('myvin es guapo')};} else {function saytruth () {alert ('myvin es feo')};}Cuando el navegador no arroja un error (por favor, pruebe si el navegador correspondiente ha lanzado un error. ¿Por qué no lo pruebo? ¿Puedo decir que soy vago?), El resultado de la producción del navegador es que Myvin es feo (no quiero admitirlo, pero la verdad es que, ahhhhh, debería leer más si soy feo ?????).
¿Por qué? Por supuesto, la declaración fue avanzada. Debido a que la declaración de función avanza, la declaración de función se analizará antes de ejecutar el código. La orden de ejecución es la siguiente: First Parse Función SaysTruth () {alert ('myvin es guapo')}, y cuando la función de análisis saystruth () {alerta ('myvin es fea')}, anulando la declaración de función anterior. Cuando llamamos a la función SayTruth (), es decir, durante la ejecución del código, la declaración será ignorada, por lo que Myvin es feo, naturalmente se emitirá (qué realidad cruel ...). Si olvida, puede ver lo que dijo anteriormente:
Las declaraciones de funciones se ejecutan durante el período de pre-ejecución, es decir, las declaraciones de función se ejecutan cuando el navegador está listo para ejecutar código. Debido a que la declaración de función se ejecuta durante el período de ejecución esperado, la declaración de función ya no se ejecuta durante el período de ejecución (hay personas que ya la han ejecutado, y naturalmente ya no se ejecutarán).
Una llamada cercana
Hablemos de las funciones declaradas de antemano (mejora) aquí. Espero que mi comprensión y tonterías puedan ser útiles para los necesitados.
Por supuesto, la práctica produce un verdadero conocimiento. La comprensión, la cognición y la aplicación de las cosas aún radica en leer, usar y resumir más. Recuerdo un famoso dicho que habla sobre declaraciones y prácticas: "Muévamos y animemos a nuevas declaraciones".
El breve análisis anterior de las declaraciones de funciones y expresiones de funciones: la declaración de declaración de función es todo el contenido que he compartido con usted de antemano. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.