Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
//Foo.js
function Foo() {
return this;
}
Foo.prototype = {
print: function() {
console.debug("Foo");
}
}
//Bar.js
function Bar() {
return this;
}
Bar.prototype = {
print: function() {
console.debug("Bar");
}
}
//App.js
function App() {
this.Foo = new Foo();
this.Bar = new Bar();
return this;
}
//on loaded page
window.Application = new App();
Сайты, на которых можно ознакомиться с текстовой информацией, вообще не должны нести в себе кучу джаваскрипта
Я всё же говорю о серьёзных веб-приложениях, где обойтись без большого объёма JS достаточно сложно.
Для таких приложений скрипты расположены скорее всего на тотм же сервере
window.onload. Этого можно избежать, если подключать скрипты через setTimeout:[
'//other-domain.com/1.js',
'2.js'
].forEach(function(src) {
setTimeout(function() {
var script = document.createElement('script');
script.src = src;
script.async = false;
document.head.appendChild(script);
}, 0);
});
Я твой друг, мы сделаем это как по учебнику.
Спецификация говорит: Скачивай вместе, выполняй по порядку до DOMContentLoaded. Игнорируй «defer» для скриптов без «src».
Погружение в темные воды загрузки скриптов