问答详情
源自:3-4 改变 HTML 样式

<script><script>放在<head></head> 和<body></body>有什么区别

<script><script>放在<head></head> 和<body></body>有什么区别

提问者:qq_彦_1 2015-05-31 16:46

个回答

  • luona
    2015-08-12 14:43:05

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

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

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


  • 戈饭
    2015-05-31 17:42:23

    放在body最后面优先加载body里的内容,再加载执行脚本。

    放在head先加载执行脚本再加载body里的内容。

    现在流行放在后面,但有些特殊的如html5shiv必须放在前面。

  • Aug
    2015-05-31 17:05:43

    浏览器会先读取执行head的script后再读取body里面的script