很基础的一个有关问题:js放在head标签中为什么比放在body标签中要快
很基础的一个问题:js放在head标签中为什么比放在body标签中要快
我在帖子和学习中被javascript放在head标签中要比放在body中要快,我想知道why?
我的理解:
js放在body中和放在head中,在页面加载的时候都是需要带宽加载文件内容的,如果按照这个理解的话,js放在head和body中在页面加载的时候效率是一样的,网友说【将JavaScript标识放置<Head>... </Head>在头部之间,使之在主页和其余部分代码之前预先装载,<body>区调用时就不需要再载入代码了,速度就提高了】
难道放在body中的js代码,在页面加载的时候不加载么,对此很费解,有点乱,还望大家解惑,在线等!
---------------------------------华丽的分割线---------------------------------------------------------------------
贴上网友的博客
1:将JavaScript标识放置<Head>... </Head>在头部之间,使之在主页和其余部分代码之前预先装载,从而可使代码的功能更强大; 比如对*.js文件的提前调用。 也就是说把代码放在<head>区在页面载入的时候,就同时载入了代码,你在<body>区调用时就不需要再载入代码了,速度就提高了,这种区别在小程序上是看不出的,当运行很大很复杂的程序时,就可以看出了。当然也可以将JavaScript标识放置在<Body>... </Body>主体之间以实现某些部分动态地创建文档。 这里比如制作鼠标跟随事件,肯定只有当页面加载后再进行对鼠标坐标的计算。或者是filter滤镜与javascript的联合使用产生的图片淡入淡出效果
2:放入html的head,是页面加载前就运行,放入body中,则加载后才运行javascript的代码~~~
所以head里面的先执行。
引入自:http://www.cnblogs.com/ddyq/archive/2012/03/06/2382816.html
------解决思路----------------------
从上到下加载 先遇到哪个就先加载哪个 所以放在head中比在body尾先加载 但用户体验不见得好
------解决思路----------------------
这只是一个感觉问题
从浏览器收到 body 标记开始,就对每一对闭合的标记进行绘制了。
如果此期间有一个耗时的 js 加载过程,那么就会看到明显的停顿
当 js 被放到 head 中时,你将看不到这个停顿。而是把消耗的那段时间归结到服务器响应时间上
------解决思路----------------------
首先,页面加载是从上到下加载,所以加载顺序就是先遇到那个加载那个。至于说放在head和放在body的区别,个人觉得单从前端来说,加载时间是区别不大的,而加载时间的长短取决于js的大小,如果js大的话,加载时间就长,如果把较大的js放在head中,页面会先加载js,等js加载完再加载body内容,会出现页面空白时间较长问题,所以一般处理这种事情我会在页面末尾加载较大js。
所以你所问的javascript放在head标签中要比放在body中要快个人觉得不准确,应该理解为js放在head标签中,body中的html代码加载较快,因为js放在body中意味着body中的html代码和js代码按照上下顺序一起在加载,放在head中就表示会先加载js再加载body,而所谓的速度快,个人觉得差距不会太大。
------解决思路----------------------
你就没想过这位网友的观点是错的?
有经验的前端都知道css节点放head中,js节点放页面底部,这样页面会更快地得到渲染
道理是很显然的,css放在头部可以让页面一开始就正确呈现;js放在底部可以让页面更快呈现(js节点是同步加载的)
我在帖子和学习中被javascript放在head标签中要比放在body中要快,我想知道why?
我的理解:
js放在body中和放在head中,在页面加载的时候都是需要带宽加载文件内容的,如果按照这个理解的话,js放在head和body中在页面加载的时候效率是一样的,网友说【将JavaScript标识放置<Head>... </Head>在头部之间,使之在主页和其余部分代码之前预先装载,<body>区调用时就不需要再载入代码了,速度就提高了】
难道放在body中的js代码,在页面加载的时候不加载么,对此很费解,有点乱,还望大家解惑,在线等!
---------------------------------华丽的分割线---------------------------------------------------------------------
贴上网友的博客
1:将JavaScript标识放置<Head>... </Head>在头部之间,使之在主页和其余部分代码之前预先装载,从而可使代码的功能更强大; 比如对*.js文件的提前调用。 也就是说把代码放在<head>区在页面载入的时候,就同时载入了代码,你在<body>区调用时就不需要再载入代码了,速度就提高了,这种区别在小程序上是看不出的,当运行很大很复杂的程序时,就可以看出了。当然也可以将JavaScript标识放置在<Body>... </Body>主体之间以实现某些部分动态地创建文档。 这里比如制作鼠标跟随事件,肯定只有当页面加载后再进行对鼠标坐标的计算。或者是filter滤镜与javascript的联合使用产生的图片淡入淡出效果
2:放入html的head,是页面加载前就运行,放入body中,则加载后才运行javascript的代码~~~
所以head里面的先执行。
引入自:http://www.cnblogs.com/ddyq/archive/2012/03/06/2382816.html
------解决思路----------------------
从上到下加载 先遇到哪个就先加载哪个 所以放在head中比在body尾先加载 但用户体验不见得好
------解决思路----------------------
这只是一个感觉问题
从浏览器收到 body 标记开始,就对每一对闭合的标记进行绘制了。
如果此期间有一个耗时的 js 加载过程,那么就会看到明显的停顿
当 js 被放到 head 中时,你将看不到这个停顿。而是把消耗的那段时间归结到服务器响应时间上
------解决思路----------------------
首先,页面加载是从上到下加载,所以加载顺序就是先遇到那个加载那个。至于说放在head和放在body的区别,个人觉得单从前端来说,加载时间是区别不大的,而加载时间的长短取决于js的大小,如果js大的话,加载时间就长,如果把较大的js放在head中,页面会先加载js,等js加载完再加载body内容,会出现页面空白时间较长问题,所以一般处理这种事情我会在页面末尾加载较大js。
所以你所问的javascript放在head标签中要比放在body中要快个人觉得不准确,应该理解为js放在head标签中,body中的html代码加载较快,因为js放在body中意味着body中的html代码和js代码按照上下顺序一起在加载,放在head中就表示会先加载js再加载body,而所谓的速度快,个人觉得差距不会太大。
------解决思路----------------------
你就没想过这位网友的观点是错的?
有经验的前端都知道css节点放head中,js节点放页面底部,这样页面会更快地得到渲染
道理是很显然的,css放在头部可以让页面一开始就正确呈现;js放在底部可以让页面更快呈现(js节点是同步加载的)