递归函数:我在哪里错了?

mar*_*zzz 0 javascript recursion jquery

代码:

isDomLoaded = $(function () {
    setTimeout(function () {
        if (renderFinished) {
            renderSocial(fotoProssima);
        } else {
            isDomLoaded();
        }
    }, 300);
});
Run Code Online (Sandbox Code Playgroud)

它说 isDomLoaded is not a function

Div*_*com 11

那是因为它不是一个功能.它是一个jQuery对象.

你需要的可能是:

isDomLoaded = function () {
    setTimeout(function () {
        if (renderFinished) {
            renderSocial(fotoProssima);
        } else {
            isDomLoaded();
        }
    }, 300);
};
Run Code Online (Sandbox Code Playgroud)

如果要在DOM准备就绪时运行它,请在声明函数后执行此操作:

$(window).load(isDomLoaded);
Run Code Online (Sandbox Code Playgroud)

但是,我认为您真正需要的是摆脱isDomLoaded函数并使用以下内容:

$(document).ready(function(){
    renderSocial(fotoProssima);
});
Run Code Online (Sandbox Code Playgroud)