身体末端的onload和脚本之间的区别?

时间:2015-10-07 17:17:11

标签: javascript function onload

我是JS的新手,我不确定这些功能何时会被执行。

示例A:

 <html>
  <head>
    <title>A</title>
    <script src="myScript.js"></script>
  </head>
  <body onload="myFunction()">
    [Content here...]
  </body>
</html>

例B:

<html>
  <head>
    <title>B</title>
    <script src="myScript.js"></script>
  </head>
  <body>
    [Content here...]
    <script>
      myFunction();
    </script>
  </body>
</html>

从我到目前为止所读到的内容,当解析器到达时,该函数被执行。不会让例A和B变得相同吗?当在B中调用myFunction()时,屏幕上是否显示了页面的所有内容(例如带有文本的表格)?

2 个答案:

答案 0 :(得分:3)

在处理<script>之前的项目时,在正文末尾添加<script>基本上会运行它(您可以将其视为在完成正文的DOM时运行)。虽然onload不仅等待DOM,而且内部的所有内容都要完全加载,例如图像。

答案 1 :(得分:1)

onLoad将等待,直到整个文档已完成加载图像等。将脚本放在结束体标记之前的好处是,用户会更快地看到呈现的页面,如果头部有一个沉重的脚本需要几秒钟才能下载,用户将看到一个空白页面直到它加载脚本并继续下载文档的其余部分。我会同时使用onLoad来确保脚本在所有内容都已加载时执行,并在底部使用脚本以便用户感觉页面加载速度很快:)