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 相关文章推荐
JSON为什么那样红为什么要用json(另有洞天)
Dec 26 Javascript
一个简单的瀑布流效果(主体形式自写)
May 27 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
JavaScript中匿名、命名函数的性能测试
Sep 04 Javascript
js文字横向滚动特效
Nov 11 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
Jul 04 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 Javascript
AngularJS模仿Form表单提交的实现代码
Dec 08 Javascript
javascript中的this作用域详解
Jul 15 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
JS实现刷新网页后之前浏览位置保持不变示例详解
Aug 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
人族 TERRAN 概述
2020/03/14 星际争霸
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
[原创]图片分页查看
2006/08/28 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
Javascript模块化机制实现原理详解
2020/04/02 Javascript
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
Python中splitlines()方法的使用简介
2015/05/20 Python
Python中tell()方法的使用详解
2015/05/24 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
python实现批量图片格式转换
2020/06/16 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
python psutil模块使用方法解析
2019/08/01 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
幼儿园教育教学反思
2014/01/31 职场文书
家长对孩子的评语
2014/04/18 职场文书
3分钟演讲稿
2014/04/30 职场文书
公司授权委托书范本
2014/09/18 职场文书
五好家庭申报材料
2014/12/20 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
JAVA springCloud项目搭建流程
2022/05/11 Java/Android