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 EasyUI API 中文文档 - DataGrid数据表格
Nov 17 Javascript
代码获取历史上的今天发生的事
Apr 11 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
Mar 25 Javascript
JS动态创建元素的两种方法
Apr 20 Javascript
JS表格组件神器bootstrap table详解(强化版)
May 26 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
Dec 14 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
Jan 16 Javascript
vue实现添加标签demo示例代码
Jan 21 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 Javascript
vue中进行微博分享的实例讲解
Oct 14 Javascript
关于跨站脚本攻击问题
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
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
JS 网站性能优化笔记
2011/05/24 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
简单了解Python生成器是什么
2019/07/02 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
服装设计专业自荐书范文
2013/12/30 职场文书
计算机相关的自我评价
2014/01/15 职场文书
学生请假条格式
2014/04/11 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
评先进个人材料
2014/12/29 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript