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 相关文章推荐
JavaScript中的new的使用方法与注意事项
May 16 Javascript
jQuery 使用手册(七)
Sep 23 Javascript
JS模块与命名空间的介绍
Mar 22 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
js图片实时加载提供网页打开速度
Sep 11 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
javascript中floor使用方法总结
Feb 02 Javascript
微信小程序实现菜单左右联动
May 19 Javascript
手把手教你如何编译打包video.js
Dec 09 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中模拟POST传递数据的两种方法分享
2011/09/16 PHP
第五章 php数组操作
2011/12/30 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
2018/07/17 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
Opacity.js
2007/01/22 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python简明入门教程
2015/08/04 Python
浅谈python中set使用
2016/06/30 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
使用python turtle画高达
2020/01/19 Python
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
女性健康知识讲座通知
2015/04/23 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android