问答详情
源自:3-4 domReady的实现

自调用函数会执行init方法,为什么还增加d.onreadystatechange呢,以下代码有什么作用,

d.onreadystatechange = function() {

            // 如果用户是在domReady之后绑定的函数,就立马执行

            if (d.readyState == 'complete') {

                d.onreadystatechange = null;

                init();

            }

        }


提问者:卧珠不知道 2015-11-01 16:39

个回答

  • gothClaudia
    2015-11-06 23:21:38
    已采纳

    上面有笔误,更正一下。

    d.readyState == 'complete' 这句判断的是页面是否加载完成。立即调用函数里判断的是dom树创建完成之后执行init();,而上面那句指网页加载完之后执行吧。我是这样理解的。

  • gothClaudia
    2015-11-06 22:58:30

    d.readyState == 'complete' 这句判断的是页面是否加载完成。回调函数里判断的是dom树创建完成之后就立即执行init();,而上面那句指网页加载完之后执行吧。我是这样理解的。

  • _Doogie
    2015-11-01 22:58:05

    请问下立即调用里执行了init,d.onreadystatechange里也执行了init这样岂不是执行了2遍init?