Es otra solución al problema, como lo sería generar la incrustación de un elemento
<script>
en el cuerpo del documento con la respectiva ruta y ejecutar las funciones que contenga una vez que se haya terminado la incrustación respectiva. La eficiencia de este proceso se determinará por el momento en el cual deseas tener acceso a las funciones del archivo externo, puesto que puede ser más eficiente ir obteniendo acceso a los distintos archivos JS externos que se necesiten de manera gradual (de forma dinámica, en determinados momentos), o bien puedes tener cargado todo al inicio (como en los ejemplos previamente mostrados) y poder acceder desde el inicio, con la consecuente demora (aunque mínima) de la carga inicial.