Dicho todo lo anterior, uno podría simplemente crear una función anidada para reemplazar algún código repetitivo localizado dentro de una función (que solo se usará dentro de la función principal). Una función anónima es un ejemplo perfecto de esto.
Algunos podrían decir simplemente crear métodos privados (o bloques de código más pequeños) en una clase, pero eso está enturbiando las aguas cuando una tarea ultraespecífica (que es exclusiva del padre) necesita ser modularizada, pero no necesariamente disponible para el resto de una clase. La buena noticia es que si resulta que necesita esa función en otro lugar, la solución es bastante elemental (mueva la definición a una ubicación más central).
En términos generales, usar JavaScript como estándar para evaluar otros lenguajes de programación basados en C es una mala idea. JavaScript es definitivamente su propio animal en comparación con PHP, Python, Perl, C, C ++ y Java. Por supuesto, hay muchas similitudes generales, pero los detalles esenciales (referencia JavaScript: La Guía Definitiva, 6a Edición, Capítulos 1-12 ), cuando se les presta atención, hacen que el núcleo de JavaScript sea único, hermoso, diferente, simple y complejo todo al mismo tiempo. Esos son mis dos centavos.
Para que quede claro, no estoy diciendo que las funciones anidadas sean privadas. Solo ese anidamiento puede ayudar a evitar el desorden cuando algo trivial necesita ser modularizado (y solo lo necesita la función principal).