为了账号安全,请及时绑定邮箱和手机立即绑定

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

d.onreadystatechange = function() {

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

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

                d.onreadystatechange = null;

                init();

            }

        }


正在回答

3 回答

上面有笔误,更正一下。

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

0 回复 有任何疑惑可以回复我~
#1

卧珠不知道 提问者

有道理。 dom树创建完成跟页面加载完成是有先后顺序的吧,dom树创建完成在前。那样的话后面的init()方法执行概率很小。
2015-11-11 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

gothClaudia

init里加了限制条件 保证只执行一次
2015-11-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信