Делаем динамическую загрузку JavaScript ручками

в 8:01, , рубрики: ajax, javascript, script, метки: , ,

Доброго времени, дорогие читатели!
Хотелось бы поделиться небольшим кусочком кода, который позволяет подгружать файлы JavaScript динамически.

Я конечно все понимаю, что существуют JQuery и много еще велосипедов, уже умеющий ездить, но тем не менее полезно было бы знать, что такие простые функции можно писать и самому.
Вот сама функция:

function loadJS(data){
	if(!data) return false;
	var head = document.getElementsByTagName("head")[0];
	
	for(file in data){
		var script = document.createElement("script");
			script.setAttribute("type", "text/javascript");
			script.setAttribute("src", file);
		
		script.onload = script.onreadystatechange = function( ){
			if(!this.readyState || this.readyState == "loaded" || this.readyState == "complete"){
				if(typeof data[file] == "function") data[file]( );
				this.onload = this.readystatechange = null; 
			}
		}
		head.appendChild(script);
	}
}

А вот как эта функция работает:

	loadJS({
		"js/space.js" : null,
		"js/go.js" : function( ){console.log("go to Habr");}
	});

Автор: tratotui

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js