Как загрузить JS-файл асинхронно?
Любой скрипт может сформировать динамически любое количество скриптов.HTML (загружаем асинхронно скрипт)<script src="..." async></script>JS (в асинхронно загружаемом скрипте загружаем асинхронно ещё один скрипт)var script = document.createElement('script');

script.src = '...';
script.async = true;
document.head.appendChild(script);Update: При каждой вставке скрипта документ со статуса complete переходит в состояние interactive. Если во втором скрипте нужно делать что-то только после построения DOM, то нужно проверять так:if (document.readyState != 'loading') {
	// Делаем что нужно
} else {
	document.addEventListener('DOMContentLoaded', function () {
		// Делаем что нужно
	});
}
Require.js позволит вам загружать любое кол-во js-файлов в любой последовательности и только в тот момент, когда они будут нужны.