JS代码放在head和body中的区别分析

 我来答
黑马程序员
2017-09-05 · 改变中国IT教育,我们正在行动
黑马程序员
黑马程序员为大学毕业后,有理想、有梦想,想从事IT行业的年轻人改变自己的命运。黑马程序员成就IT黑马
向TA提问
展开全部

在HTML body部分中的JavaScripts会在页面加载的时候被执行。
在HTML head部分中的JavaScripts会在被调用的时候才执行。

一、区别
浏览器解析html是从上到下的。
如果把javascript放在head里的话,则先被解析,但这时候body还没有解析,所以会返回空值。一般都会绑定一个监听,当全部的html文档解析完之后,再执行代码:

  windows.onload=function(){
      //这里放入执行代码
  }

说明:放在head中的JS代码会在页面加载完成之前就读取,而放在body中的JS代码,会在整个页面加载完成之后读取。

这就说明了,如果我们想定义一个全局对象,而这个对象是页面中的某个按钮时,我们必须将其放入body中,道理很明显:如果放入head,那当你定义的时候,那个按钮都没有被加载,可能获得的是一个undefind。

二、JavaScript应放在哪
页面中的JavaScript会在浏览器加载页面的时候被立即执行,有时候我们想让一段脚本在页面加载的时候执行,而有时候我们想在用户触发一个事件的时候执行脚本。

1)head 部分中的脚本: 需调用才执行的脚本或事件触发执行的脚本放在HTML的head部分中。当你把脚本放在head部分中时,可以保证脚本在任何调用之前被加载。

    <html>
    <head>
      <script type=”text/javascript”>
      …
      </script>
    </head>

2)body 部分中的脚本: 当页面被加载时执行的脚本放在HTML的body部分。放在body部分的脚本通常被用来生成页面的内容。

    <html>
    <head>
    </head>
    <body>
      <script type=”text/javascript”>
      …
      </script>
    </body>

3)body 和 head 部分可同时有脚本:文件中可以在body和head部分同时存在脚本。

    <html>
    <head>
      <script type=”text/javascript”>
      …
      </script>
    </head>
    <body>
      <script type=”text/javascript”>
      …
      </script>
    </body>

4)外部脚本的使用

有时候你可能想在几个页面中运行同样的脚本程序, 而不需在各个页面中重复的写这些代码。这时你就要用到外部脚本。你可以把脚本写在一个外部文件中,保存在扩展名为 .js的文件中。

注意:外部脚本文件中不要包含标记符<script>

使用外部脚本时将标记符<script> 的“src”属性值指向相应的.js文件就可以了:

    <html>
    <head>
        <script src=”xxx.js”></script>
    </head>
    <body>
    </body>
    </html>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式