Функция вызывается при вызове функции, поэтому:
document.onload = onLoadDocument(event, after);
… вызывает onLoadDocument
немедленно и присваивает возвращаемое значение onload
(что бессмысленно, посколькувозвращаемое значение не является функцией).
Если вы хотите использовать этот подход, то вам нужно написать фабрику, которая генерирует вашу функцию загрузки с использованием замыкания:
function onLoadDocumentFactory(callback) {
function onLoadDocument(event) {
function111();
function222();
callback();
}
return onLoadDocument;
}
function after() {
firstOpeningWindow = false;
}
document.onload = onLoadDocument(after);
При этом, было бы проще просто добавить свои функции в порядок, используя современный addEventListener
.
function function111() {
console.log(111);
}
function function222() {
console.log(222);
}
function after() {
console.log("after");
}
addEventListener("load", function111);
addEventListener("load", function222);
addEventListener("load", after);