js代码写在head和body的区别

JavaScript016

js代码写在head和body的区别,第1张

javascript代码写在<head>里面:

由于这时候网页主体(body)还未加载,所以这里适合放一些不是立即执行的自定义函数,立即执行的语句则很可能会出错(视浏览器而定)

javascript代码写在<body>里面:

这里可以放函数也可以放立即执行的语句,但是如果需要和网页元素互动的(比如获取某个标签的值或者给某个标签赋值),Javascript代码务必在标签的后面

javascript代码写在<body>下面:

这时候整个网页已经加载完毕了,所以这里最适合放需要立即执行的命令,而自定义函数之类的则不适合。

在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>

js可以分为外部的和内部的。

外部的js一般放到head内

内部的js也叫本页面的JS脚本,

内部的js一般放到body内,这样做的目的有很多,

head内的js会阻塞页面的传输和页面的渲染。

而 CSS 应当写在 head 中,以避免页面元素由于样式缺失造成瞬间的白页或者给用户闪烁感。 ---吴钊