HTML页面生命周期JS执行顺序,文档就绪执行

时间:2016-12-16 10:37:11

标签: javascript

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    abc
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="Scripts/first.js"></script>
    <script src="Scripts/second.js"></script>
</body>
</html>

//first.js
$(document).ready(function () {
    alert(first.firstChild.firstGrandChild);
})

//second.js
var first = {
    firstChild: {
        firstGrandChild: false
    }
}

我在这里简化了问题。我们有html页面,引用了两个js-first和second。所以我假设浏览器首先渲染html,停止下载第一个js,然后下载第二个js。

然后执行第一个js的文件就绪,这将获得第二个js的first.firstChild.firstChildChild。

我几乎没有问题: 什么是html执行的执行顺序,下载js,文件准备执行的拳头js,文件准备执行第二个js(如果它已准备好doc)?

现在我能够从第一个js访问这些对象,但是在我的生产应用程序中非常类似的场景中,我偶尔会定义这些对象。可能的原因是什么?

如果我有循环依赖b / w第一和第二js并且我希望事情顺利运作,我该怎么办? (例如拳头js从文件准备好调用第二个js方法,也从外部doc准备好反之亦然)

0 个答案:

没有答案