javascript放在<head>里和放在<body>里有什么区别吗?

 我来答
百度网友2571d37bb
推荐于2018-02-27 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部
  1. 主要是先加载和后加载的区别。

  2. 如果JavaScript脚本写在head标签里面,那么需要用window.onload起到一个延迟加载的作用。

  3. 如果JavaScript脚本写在body里面,也要看具体位置。如果写在body里面,一般都是写在了body标签的最后面。

  4. 例子:写在body里:<body>
    <input type="button" id="btn"/>
    <a href="javascript:;" id="div-box"></a>
    <script>
        var oBtn = document.getElementById('btn');
        var oBox = document.getElementById('div-box');
        oBtn.onclick = function () {
            var html = '<div style="width:100px; height:100px; background: #ccc;"></div>';
            if (oBox.innerHTML == '') {
                oBox.innerHTML = html;
            } else {
                oBox.innerHTML = '';
            }
        };
    </script>
    </body>
  5. 例子:写在head里:<head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script>
           window.onload = function (){
               var oBtn = document.getElementById('btn');
               var oBox = document.getElementById('div-box');
               oBtn.onclick = function () {
                   var html = '<div style="width:100px; height:100px; background: #ccc;"></div>';
                   if (oBox.innerHTML == '') {
                       oBox.innerHTML = html;
                   } else {
                       oBox.innerHTML = '';
                   }
               };
           }
        </script>
    </head>
    <body>
    <input type="button" id="btn"/>
    <a href="javascript:;" id="div-box"></a>

    </body>
JicaKtal
2018-04-12 · TA获得超过8299个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:3.7万
展开全部
  1. 先加载和后加载的区别。

  2. JavaScript脚本写在head标签里面,那么需要用window.onload起到一个延迟加载的作用。

  3. JavaScript脚本写在body里面,也要看具体位置。如果写在body里面,一般都是写在了body标签的最后面。

  1. javascript代码默认是同步执行的,不管是内嵌的还是外部的javascript代码,都会阻塞后续html代码的加载和渲染以及后续javascript的解析。这是个必要的特性,试想一下,如果你要使用某个功能,例如jquery 库的功能,把jquery 库放在你是用的代码之前(一般放在head里),这样你在其后的任何位置都可以无限制的使用jquery 的功能而不用担心其jquery 函数功能是否已经被解析载入。

  2. 但如果你这有一个javascript文件比较大,而这一部分的功能比较独立,没有他也不会影响页面的显示效果,那就可以考虑把它放在body的最后,即</body>之前,这样整个页面载入了,页面完全显示了才开始处理这部分javascript,当然,也可以loadjs 等异步加载方式进行异步加载,这样就不会阻塞其他html和javasscript了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谏怀Tj
2015-09-06 · 超过59用户采纳过TA的回答
知道答主
回答量:127
采纳率:0%
帮助的人:142万
展开全部
其实就是一个先后处理的问题,页面是线性加载的。如果的JS处理需要在页面加载之前完成,那就放到head里头,如果不是则随意放置。在开发的时候可以不用考虑这个问题啦,到后期调整的时候再考虑是不是可以更改存放地方来加快载入速度。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式