¿Cuándo debo usar una función normal y cuándo debo usar una función anónima en JavaScript (principiante)?

Hola,

Aquí está la respuesta corta : si es una función o devolución de llamada muy corta, o una función de ejecución inmediata sin redundancia, está bien mantener corta la declaración de la función omitiendo un nombre; de ​​lo contrario, use funciones con nombre. Por ejemplo, cuando use map () o reduce (), si el tratamiento que desea aplicar es corto y no se usa en ningún otro lugar, este es el buen lugar para usar la función anónima.

Contras avanzadas para usar funciones anónimas :

  • Durante la depuración , vemos el nombre de las funciones en el seguimiento de la pila. Si todo lo que estamos viendo es “anónimo” arriba y abajo de la pila, eso no es demasiado útil. Así que nombre las funciones que desea poder depurar fácilmente.
  • Mientras usa la recursividad, una función puede llamarse a sí misma cuando tiene un nombre. Si solo se asigna a una variable, entonces esa variable está fuera del alcance de la función.
  • Para ir más lejos, debes aprender cómo funcionan los cierres ; Recuerdo que hay pocas diferencias sobre el alcance de la función .

He estado trabajando con Javascript desde hace bastante tiempo, pero no me considero un experto.

Solo para dar algunos aportes con esto según mi experiencia.

No hay reglas fijas sobre cómo usar ambas formas para crear una función. Depende de cómo diseñe su código.

Pero en mi propia práctica solo usaré una función normal si quiero que la función tenga un nombre en el que pueda identificar fácilmente su función. Las funciones normales pueden ser métodos en su código que usa la mayor parte del tiempo siempre que sea accesible dentro de su alcance.

La función anónima, por otro lado, se puede usar si tiene un algoritmo complejo en el que necesita permitir que se modifique o pase a otra función, dependiendo de cómo codifique su Javascript.

Pero todo se reduce a cómo diseñas tu código, puedes usar ambos en cualquier escenario, siempre que tu código funcione correctamente.

More Interesting

¿Cómo realizaría una prueba A / B si las observaciones son extremadamente sesgadas?

¿Cuál es el nuevo lenguaje para reemplazar PHP? Si alguien creara un sitio de red social como Facebook, ¿qué idioma le recomendaría, teniendo en cuenta los pocos millones de personas en un momento dado, velocidad, eficiencia, etc.?

En la mayoría de las declaraciones de doctype de los sitios, puedo ver que se está utilizando 'HTML 4.01 Transitional'. ¿Es necesario hoy en día o simplemente do?

¿AngularJS sería estable después de 5 años?

Cómo usar el servicio de correo (que funciona en otro servidor) y el alojamiento web (también en otro servidor) en un dominio

¿Cuál es la mejor fuente para encontrar códigos / scripts de programación confiables de código abierto? Estoy creando un sitio web (en PHP) y estoy buscando una plantilla que pueda modificar en lugar de crearla desde cero

Cómo configurar un sitio web que pueda competir contra Quora

Cómo crear un formulario de contacto captcha y un formulario de contacto visualizado en PHP

¿Ya has hecho un sitio web en WordPress? Si es así, ¿cómo encontraste toda la experiencia?

¿Cuál es el mejor entorno de alojamiento web donde la seguridad es primordial?

Entre dos, ¿cuál es el mejor lenguaje de programación para futuros PHP o Node Js?

Cómo hacer que todas las imágenes en mi estilo CSS tengan el mismo tamaño proporcional

¿Para qué sirve JSON? ¿Cómo sirve ese propósito?

Cómo saber cuántas veces se ha visitado una página web específica (no un sitio web) de cualquier sitio web en la web

¿Los campos de arranque de codificación obstaculizan el desarrollo de desarrolladores sin experiencia previa en CS?