Javascript inserção dinâmica múltipla

Quando fazemos a inserção dinâmica para javascript, às vezes o pedido é importante. Às vezes, resolvemos isso usando a propriedade onload; no entanto, se houver muitos javascripts externos e esses scripts tiverem que ser carregados em ordem, o que devemos fazer?

Resolvi esse problema através das funções onload definidas recursivamente; no entanto, não tenho tanta certeza sobre eficiência ... como esse é um script, acho que faz uma avaliação preguiçosa .... Alguma ajuda?

//recursively create external javascript loading chain
//cautiously add url list according to the loading order
//this function takes a list of urls of external javascript
function loadScript(url) {
  if( url.length == 0) {
    //final function to execute
    return FUNCTION;
  }

  var f = function(){
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = url.pop();

    //recursion
    script.onload = loadScript(url) ;
    document.getElementsByTagName("head")[0].appendChild(script);
  }
  return f;
}

function loadScripts(urls) {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = urls.pop();
  script.onload = loadScript(urls) ;
  document.getElementsByTagName("head")[0];.appendChild(script);
}

loadScripts(["aaa.js","bbb.js","ccc.js"]);

Obrigado

-Desculpe por confundir você .. Eu adicionei uma função que realmente chama loadScript (). (Eu verifiquei isso funciona ..)

questionAnswers(3)

yourAnswerToTheQuestion