Estoy tratando de iniciar un proyecto de interfaz con varios archivos de script JS adjuntos para que la lógica de la página funcione correctamente. Al principio, todos los enlaces a los scripts se colocaron al final de la sección de mi cuerpo y funcionaba bien. Pero después decidí usar el detector de eventos DOMContentLoaded para poder colocar enlaces a los scripts en mi sección de encabezado. Sin embargo, justo después de eso, algunos de mis scripts dejaron de funcionar. Después de una revisión rápida, parecía que el culpable era que algunos scripts compartían algunas variables definidas como globales, por lo que todos los scripts tenían acceso a ellas, pero en ese momento estas variables entraron en los bloques de código de devolución de llamada DOMContentLoaded {...}, obviamente, otros scripts se perdieron acceder a todos ellos.
Por supuesto, ahora puedo retroceder y poner todos los enlaces de scripts al final del cuerpo o usar atributos diferidos o asíncronos, pero me pregunto si hay alguna manera de seguir usando DOMContentLoaded pero, sin embargo, tener variables encerradas en la devolución de llamada de DOMContentLoaded. globalmente y compartido entre todos los scripts de página?