Este artículo resume los problemas comunes en la definición de la función de JavaScript. Contiene errores comunes cometidos por principiantes. Compártelo para su referencia. El resumen específico es el siguiente:
1. Al mismo tiempo que la declaración de función, el motor JS también define una variable con el mismo nombre que el nombre de la función. Cuando llamamos a esta función, en realidad estamos usando esta variable, y se puede llamar antes de la declaración de la función, por ejemplo
foo (); // Una variable de función en realidad se usa aquí function foo () {alert ('hello'); }2. Expresión de la función, en este momento, la función anónima se asigna a una variable, que debe usarse después de la definición, por ejemplo
foo (); // Se informa un error, undefined var foo = function () {alert ('hello'); }3. Expresión de la función (con nombre de función), este uso se evita mejor. En este momento, el nombre de la función solo está disponible internamente en navegadores que no son II, por ejemplo
bar (5); // se informa un error, una barra var = function foo (n) {if (n == 1) return 1; else return n * foo (n - 1); } foo (5); // No se informa el error, la barra indefinida (5); //Correcto4. Definición con el constructor de funciones, este método es ineficiente. Cada vez que se ejecuta una función, su cuerpo de función se analizará una vez. Además, la función declarada de esta manera no heredará el alcance de la ubicación declarada actual. Solo tendrá un alcance global por defecto, por ejemplo
función foo () {var bar = 'hello'; función de retorno ('alerta (bar)'); // se informa un error, la barra variable global no está definida} foo () ();Creo que la descripción en este artículo tiene cierto valor de referencia para el aprendizaje de todos de la programación web de JavaScript.