Similar to my previous article on how to add/inject a CSS stylesheet using Vanilla JavaScript, this is how you load a JavaScript file on demand and execute any dependent functions.
function loadFile(filePath) {
    // Create a <script> tag, set its source
    let scriptTag = document.createElement('script');
    // And listen to it
    scriptTag.onload = function (loadEvent) {
        // This function is an event handler of the script tag
        handleEvent();
    }
    // Make sure this file actually loads instead of a cached version
    // Add a timestamp onto the URL (i.e. file.js?bust=12345678)
    let cacheBuster = '?bust=' + new Date().getTime();
    // Set the type of file and where it can be found
    scriptTag.type = 'text/javascript';
    scriptTag.src = filePath + cacheBuster;
    // Finally add it to the <head>
    document.getElementsByTagName('head')[0].appendChild(scriptTag);
}
function handleEvent() {
    console.log('The file has been loaded. Do something else.');
    // More code here
}
// Usage
loadFile('/path/to/file.js'); 
                                                     
                                                     
                