前端优化方案-JavaScript 优化方案 收藏 此文于2010-06-04被推荐到CSDN首页
如何被推荐?

Author: 李丽媛

Date: 2010/6/2

Email: lly219#gmail.com

2       JavaScript 优化方案

2.1          测试驱动开发

为了编写可维护的 JavaScript ,测试驱动是必不可少的。因为每个测试都起到质量反馈的作用,给后期维护和修改创建了一个安全保护网并提供了一份可执行的文档。通过测试,我们可以保证所有的功能被覆盖,也避免了重写代码后再进行测试的高昂代价。

解决方案 :以后的开发中使用 JsUnit 和 JSMock 进行测试驱动。

2.2          框架

现在已经形成部分框架,但都不够复用和抽象。并且缺少文档说明,让后期开发人员很难进行维护和使用。

解决方案 :对框架进行封装、抽象、改进,并且完善文档。

2.3          文件压缩( YUI Compressor )

a)         移除注释

b)         移除额外的空格

c)         细微优化

d)         标识符替换

解决方案 :代码发布时,使用以上压缩工具进行压缩。

2.4          使用 JSON

JSON 是一种轻量级的数据格式,体现在它的结构定义非常简单,而且已成为当今 Web 端的主流数据格式标注。

解决方案 :把能更改为 JSON 数据格式的数据尽量进行更改。

2.5          浏览器兼容

Web 时代,主流浏览器兼容是必须的。而且当 IE 9 来到时,向下兼容可能会出现一些问题。时代在发展, Google 都摈弃了 IE6 , 既然都有权要求用户使用 IE 浏览器,为何不能要求用户对浏览器升级,或满足使用其它浏览器的用户呢?

解决方案 :更改代码,使其兼容主流浏览器。

2.6          使用一些提高 JavaScript 效率的基本常识方法

a)         使用三元操作符代替 if…else… ;

b)         减少 DOM 访问;

c)         尽量使用 switch ;

d)         简化常用对象定义( var obj = {}; 代替 var obj = new Object(); );

e)         避免使用 Eval ;

f)          尽量使用语言本身的构造和内建函数;

g)         对高级对象采用缓存;

h)         避免过多的应用层次和不必要的方法调用。

解决方案 :编写代码过程中遵循以上方法。

2.7          代码的可读性

是程序员都可以写出机器可读的代码,但是要做一名好的程序员就必须写出人类可读的代码。

解决方案 :在需要的地方增加注释;降低代码的层次嵌套;遵循代码的重用规则;规范命名等等;。

2.8          常量和全局变量

JavaScript 文件较多,里面的常量和全局变量过杂过乱。

解决方案 :常量单独放到一个 js 文件中进行定义和管理;全局变量应有详细的文档说明。

2.9          查找瓶颈

a)         局域网不慢,互联网慢则为加载慢;

b)         Chrome 不慢, IE 慢则为渲染慢;

c)         越用越慢则为内存泄露。

解决方案 :针对 a) 可对文件进行压缩;动态加载;加载提示。针对 b) 可缓存经常用到的节点查询结果;注意 DOM 的刷新;减少加载减少解析;晚加载晚解析。针对 b) 可参见: JS内存泄露 。

2.10       split 应使用 ascii 码

看到分割的时候使用了一些常用的字符,这样当字符串中出现该字符时,就会产生影响。

解决方案 : split 分割时使用 ascii 码。

2.11       14 Rules for Faster-Loading Web Sites

解决方案 :根据实际情况选择适合的规则,逐一改进。

3 .图片优化方案
3.1.         规范命名

a)         命名有意义,让人一看便知;

b)         按标准分类,放入相应的文件夹中。

解决方案 :对图片重新进行整理,重命名,重新分类,重新切片。牵扯到的 CSS , JavaScript 也一律进行修改。

3.2.         图片压缩

解决方案 :由美工进行修改。

3.3.         格式统一,可按照需求使用 gif 和 jpg

解决方案 :由美工进行修改。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Vanessa219/archive/2010/06/03/5644683.aspx

前端优化方案-JavaScript 优化方案 收藏 此文于2010-06-04被推荐到CSDN首页相关推荐

  1. [转]JavaScript优化方案

    转自:http://www.w3cgroup.com/article.asp?id=255 网站开发WEB前端高性能优化之JavaScript优化细节 作者:dh20156 日期:2009-06-05 ...

  2. 小猿圈web前端之网站性能优化方案

    现在前端不仅要能做出一个网站页面,还要把这个页面做的炫酷,那需要很大程度的优化,那么怎么优化才更好呢?小猿圈总结了一下自己优化的方案,感兴趣的朋友可以看一下. 一般网站优化都是优化后台,如接口的响应时 ...

  3. 前端的图片优化的6种方案

    前端的图片优化的6种方案 1.使用base64编码代替图片 场景:适用于图片大小小于2KB,页面上引用图片总数不多的情况 原理:将图片转换为base64编码字符串inline到页面或css中 优势:减 ...

  4. ckks方案优化最好的_果断收藏:SEO高级优化技能升级策略!

    有很多搜索引擎优化技术,严格来说,没有先进或基本的,这是最好的方式使用适当的搜索引擎优化技术,以优化网站在适当的时间."此外,基地的极端也可以被认为是先进的.有很多朋友想要提高SEO的技术优 ...

  5. 前端优化一些知识,值得收藏

    2019独角兽企业重金招聘Python工程师标准>>> 1. viewport <meta name="viewport" content="wi ...

  6. 带负荷测试要求二次最小电流_检修状态下二次带负荷测试方案的优化研究

    检修状态下二次带负荷测试方案的优化研究 国家电网宁波供电公司 肖立飞 黄 桢 翁张力 张 冲 [摘 要] 摘要:在变电站检修完成后,依据同频率正弦量可进行相量比较的原 理,在互感器侧一次升流.一次升压 ...

  7. 千万级数据查询中CK、ES、RediSearch方案的优化

    前言 在开发中遇到一个业务诉求,需要在千万量级的底池数据中筛选出不超过 10W 的数据,并根据配置的权重规则进行排序.打散(如同一个类目下的商品数据不能连续出现 3 次). 下面对该业务诉求的实现,设 ...

  8. 优化Docker镜像大小方案 2017年12月10日 17:54:46 阅读数:1774 标

    2019独角兽企业重金招聘Python工程师标准>>> 优化Docker镜像大小方案 2017年12月10日 17:54:46 阅读数:1774 标签: Docker 更多 个人分类 ...

  9. 网站优化步骤,网站优化方案

    网站优化步骤,网站优化方案 网站优化步骤:网站功能定位 ,定位是娱乐性网站,还是公司业务网站,还是个人宣传的网站. 网站优化步骤:选取域名 ,一般盈利性的网站最好是.com的后缀.如果是机构可以是.o ...

最新文章

  1. vb mysql数据导入到mssql,[请教]怎样把*.txt文本的数据导入sql数据库中?
  2. Pylearn2之YAML
  3. MAKEWORD(2,2)解释
  4. OS / Linux / 主线程退出了,子线程会退出吗?
  5. iOS运行时-使用Runtime向Category中添加属性以及运行时介绍
  6. Linux: Nginx proxy_pass域名解析引发的故障
  7. break VS continue
  8. suse leap_Ruby程序检查leap年
  9. arm体系结构与编程_RISCV中文版面市! MIPS、ARM、RISCV三驾马车配齐,奔向体系结构教学的新黄金时代!...
  10. ae教程 (四)运动控制 (三)
  11. 新技术焦虑症?来这里拿药 ~~
  12. 苹果手机怎么在照片上添加文字_手机上照片怎么制作视频
  13. 妇幼保健学习知识资料考试题及其规范标准答案
  14. 数据结构入门----遍历二叉树和线索二叉树
  15. Delphi Web前端开发教程(2):基于TMS WEB Core框架
  16. windows 总是弹出 windows installer 安装,关不了的解决方法
  17. 转型AI ,80后华为Java工程师的故事
  18. php 图片合成gif,php合并图片,生成gif动态图片,保存到指定目录
  19. 大数据产业中的新方式:数据交易
  20. linux ifconfig 多地址,ifconfig查看多了几个IP地址

热门文章

  1. hdu 5087(LIS变形)
  2. hdu 4547(LCA+Tarjan)
  3. 一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解
  4. Visual Studio Styles
  5. 获取eclipse 运行时,bundle的相对路径
  6. MySql数据库安装修改密码开启远程连接图解
  7. 简单的计时器实现(JFrame)
  8. Android 编译 SDK
  9. IIS下的FTP使用
  10. python的二维数组操作