在onload事件中调用脚本或在html结尾处放置代码之间的区别

时间:2013-03-14 18:58:38

标签: javascript html dom html-parsing

我正在阅读google maps api文档,并偶然发现了解释异步加载API的段落。可以找到api文档here

作为一个例子,它显示了一个如下所示的脚本:

function loadScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=TRUE_OR_FALSE&callback=initialize";
  document.body.appendChild(script);
}

window.onload = loadScript;

这段代码之间有什么区别,只是简单地将脚本调用一直添加到html标记的末尾?像这样:

        <!-- rest of the markup -->

        <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=TRUE_OR_FALSE&callback=initialize"></script>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

您通常希望在加载DOM后运行JS脚本,并且在读取/解析html时不一定会发生此事件。 I.E.在阅读HTML和构建JS需要遍历的DOM之间存在一段时间。