我真的不明白...我是Java语言的初学者。

我已将函数onLoadDocument附加到document.onload事件。

绝对必须在function111()function222()完全完成其工作之后执行回调函数。

实际上,回调执行得太早,并且会导致function111function222出现问题。

仅当function111function222完成其工作时,才如何执行回调函数?

function onLoadDocument(event, callback) {
    function111();
    function222();
    callback();
}

function after() {
    firstOpeningWindow = false;
}

document.onload = onLoadDocument(event, after);

最佳答案

问题是回调是函数引用,但此行:

onLoadDocument(event, after)


是函数调用,因此可以立即运行。同样,具有window事件而不是load的是document

function onLoadDocument(callback) {
    function111();
    function222();
    callback();
}

function after() {
    firstOpeningWindow = false;
}

// You have to supply a function reference here. So, to pass arguments
// you'd need to wrap your function invocation in another function that
// will be the callback
window.onload = function() { onLoadDocument(after) };

10-02 14:41