首页 > 代码库 > JS代码放在head和body中的区别分析

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

最近一直在忙工作,没有时间来写博客了,不过今天做网站的时候碰到一个问题就是JS脚本存放的位置不同其效果不同。起初我没在意这个问题,后来一直解决不了,通过上网与查资料问同事,终于我明白了,原来我碰到了这么个问题。

用简单的一句话介绍就是加载顺序的问题。如果放入head,那当页面加载head部分的时候,那个控件都还没有被定义(也可以说是还没有被加 载,因为加载的过程就是执行代码的过程,包括了定义),你能得到的只可能是一个undefind。 如果放入控件后面,则达到了所想的结果(控件加载完了,JS脚本也进行加载得到了想得到的值)

其实如果是JS中的方法就无所谓放在那里,如果是全局对象js脚本就必须放在body里面。如果是一个方法W3C就建议房子Head里面。

下面我就用例子慢慢介绍一下吧。(大神勿喷)

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">

    alert("加载页面之前进行弹出");
    
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="btnAlter" type="button" value=http://www.mamicode.com/"button" />
    </div>
        <script type="text/javascript">

    alert("加载页面之后进行弹出");
    
    </script>
    </form>
</body>
</html>