JS代码优化技巧之通俗版(减少js体积)


Posted in Javascript onDecember 23, 2011

细读完这篇文章,够你优化大半天的了,关于JS优化方法大都脱离不了这三种方法。

JS代码优化技巧之通俗版(减少js体积)

(网页总大小为155.k,而JS就占了100.3K)

是时候优化下JS了

关于JS优化的文章已经很多了,大多技术性很强,像什么变量、字符串、类型,就不做介绍了,也不需要介绍,我也不懂,你知道了也没用。大多数站长都是“拿来主义”,我只需要告诉JS怎么放,删那里就可以了。

现在的网站都加的有统计代码、分享工具、评论列表、相关文章插件等工具,而要实现强大的功能,必须使用JS文件,正是这些JS插件,再增强了网站功能的同时,也给影响了网站速度。

最常用的JS优化办法

通过博客调用JS来看,目前最影响速度的为无觅插件(952ms),拿福能广告(434ms)。如果确实要用可以保留,适当的根据官方教材做做优化,下面卢松松介绍几个最常用的JS优化方法。

方法一:把不重要的JS放在页面最底部

这是最简单,也是效果最好的优化方法,把不重要的JS通通放到页面的最下面body的上面,实现异步加载,也就是等网页都加载完了,最后在加载这些不重要的JS,这样就不影响网页速度了。

如低调与华丽模板中公共的util.js公共文件,默认效果为,浏览网页时会在网页中出现“回顶部、写评论”特效。现在把wumii(无觅插件JS)和jiathis(分享工具JS)统一整合到util.js文件中了。

JS代码优化技巧之通俗版(减少js体积)

(不重要的JS都放到页面最底部了)

当然,其他网站也需要这样做:把不重要的JS通通放到页面最底部。

方法二:合并JS文件

合并JS,也就是减少HTTP请求,少给服务器请求一次就加快一点速度,而合并两个原本独立的JS就需要点技术了,但这难不倒我们,告诉大家一个最简单的方法:

不管三七二十一,先把A文件直接粘贴到B文件中,合并后删除网页中的A文件,如果网页运行正常,就OK;如果一些特效失效,那就还原,换C文件合并。总会有两个不冲突的JS文件的。

例如我博客上的百度广告管家,有6个广告位,默认情况是要进行6次HTTP请求的,因为是第三方JS,一次请求最快要花234ms,而6次请求就就需要花2秒,也就是说因为这个广告管家打开网页就要额外增加2秒。

JS代码优化技巧之通俗版(减少js体积)

(第二段JS就是把6个请求变成了1个)

按照官方教程把JS合并后,6个广告位的广告请求合并为1次请求,大幅降低js请求次数,有效减少页面渲染被阻塞的情况,提升广告加载速度。

方法三:给JS文件减肥

咱不讨论什么三目运算符、减少对象查找、如何让JS简洁,咱就用“JS减肥工具”。通常这类工具会把JS文件中几百行的代码压缩成一行,使体积变小。推荐工具:http://javascriptcompressor.com/ 或软件版本(容错效果好)

因为空行等问题,有时候使用这类工具会使JS功能失效,而最简单的办法是用Dreamweaver,把压缩后的JS放入DW中,DW会自动提示你那里有误,把错误的地方另起一行,或还原回去即可。

最后再给个网友的现身说法吧:

JS代码优化技巧之通俗版(减少js体积)

当你的站点随着时间的推移慢慢地做大的时候,你就会发现很多问题出来的,其中一个就是越来越臃肿庞大,因此运行的速度也就会慢了下来。优化,尽力去优化站点,就变得非常重要了。

这些方法都通俗易懂,希望对大家有用!

Javascript 相关文章推荐
基于jQuery的获取标签名的代码
Jul 16 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 Javascript
Jquery 实现grid绑定模板
Jan 28 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
jQuery实现的跨容器无缝拖动效果代码
Jun 21 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
Jul 27 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 Javascript
浅谈Web Storage API的使用
Jun 23 Javascript
Vue Element plus使用方法梳理
Dec 24 Vue.js
关于跨站脚本攻击问题
Dec 22 #Javascript
js DOM的学习笔记
Dec 22 #Javascript
jquery 年会抽奖程序
Dec 22 #Javascript
jQuery中创建实例与原型继承揭秘
Dec 21 #Javascript
jquery随机展示头像代码
Dec 21 #Javascript
JavaScript面向对象程序设计三 原型模式(上)
Dec 21 #Javascript
jquery $.getJSON()跨域请求
Dec 21 #Javascript
You might like
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
Python字符串详细介绍
2015/05/09 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
python实现根据文件格式分类
2019/10/31 Python
Python3-异步进程回调函数(callback())介绍
2020/05/02 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
护士毕业实习感言
2014/03/05 职场文书
服务标兵事迹材料
2014/05/04 职场文书
市级文明单位申报材料
2014/05/07 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
岗位聘任协议书
2015/09/21 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android