- 博客(14)
- 资源 (59)
- 收藏
- 关注
原创 前端性能优化:DOM操作性能优化建议
其实在web开发中,单纯因为js导致性能问题的很少,主要都是因为DOM操作引起的。1查找元素的优化2改变DOM,包括添加,修改,删除DOM3改变DOM的样式类等1查找元素的优化 因为ID是唯一的,也有原始的方法,因此使用ID查找元素是最快的,其次的是根据类和类型查找元素,通过属性查找元素是最慢的,因此应该尽可能的通过ID或者类来查找元素,避免通过类来查找元素。2改变DOM,包括添加,修改,删除D
2016-07-07 11:45:56 6960
原创 前端性能优化:jquery的each为什么比原生的for循环慢很多?
其实查看jQuery的源代码,发现each的代码很简单,但为什么性能和原生的for循环相差几十倍呢?jQuery的each的核心代码 for (; i < length; i++) { value = callback.call(obj[i], i, obj[i]); if (value === false) {
2016-07-05 14:15:51 7570
原创 前端性能优化:JSON数据的优化
JSON数据的可以优化吗?肯定可以,之前都是使用XML,但之后用XML越来越少了,就是因为XML包含的冗余信息太多了。那么JSON数据有没有冗余呢?肯定有,名称就是重复的!!例如如下的JSON数据:{"total":28,"rows":[ {"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","list
2016-07-05 14:00:23 4390
原创 前端性能优化:数组操作的优化二
数据通过中括号的方式定义,定义时加不加长度,这两种方式性能有区别吗?填充元素使用下标的方式和push有性能差别吗?测试代码: var length = 30000; function Test1() { var date1 = new Date().getTime(); var t = [length]; for (var i = 0; i
2016-07-05 13:59:34 1788
原创 前端性能优化:数组操作的优化
数组的定义有好几种方式,据说使用new方式是最慢的,但是不是呢?测试代码: var length = 300000; function Test1() { var date1 = new Date().getTime(); for (var i = 0; i < length; i++) { var t = [];
2016-07-05 13:59:03 1896
原创 前端性能优化:字符串的连接操作改进
在web开发中,避免不了字符串连接的操作,但字符串的连接操作性能高吗?之前有不少文章说使用加号性能地下,建议使用数组的join操作。测试代码:var length = 300000; /*数组的 join*/ function Test1() { var date1 = new Date().getTime(); var t = [];
2016-07-05 13:56:41 2852
原创 前端性能优化:创建对象二
既然使用var obj = { name1: name1, name2: name2, name3: name3 ,name4:name1+name2}; 方式是最快的,那么使用原型的方式会变快吗?测试代码:var length=30000;/*构造函数创建对象*/function mYObj(name1,name2,name3){ this.name1=name1; this.nam
2016-07-05 13:53:49 1262
原创 前端性能优化:创建对象
有的资料上说不同的创建对象的方式会有一定的性能差别,var obj =new Object();这种方式最慢,var obj = { name1: name1, name2: name2, name3: name3 ,name4:name1+name2}; 这种方式最快。但发展了这么多年,有变化吗?测试代码如下:var length=30000;/*new 的方式创建*/function Cr
2016-07-05 13:52:28 1171
原创 前端性能优化:循环内部优化
代码优化,首先应该优化循环,但循环处理展开,判断条件的优化,还有其他方式吗?其实在操作系统中介绍了系统会优化的一个方法,就是循环不变量外提。其实在for循环中把长度定义在循环外就是循环不变量外提。1循环不变量外提 var lengtharr = t.length; for (var i = 0; i < lengtharr; i++) { total +
2016-07-03 10:21:47 3497
原创 前端性能优化:条件判断优化
条件比较少时使用if,比较多是使用switch,超过十个时使用数组判断。例如如下的if判断: if (value==0) { do0(); } else if (value == 1) { do1(); } else if (value == 2) {
2016-07-03 10:16:33 3846
原创 前端性能优化:for in循环的优化
for in循环非常慢,但有时候却不能不使用,那有没有方法改进呢?for in循环之所以慢,就是因为需要不停的遍历原型链,如果知道能够减少原型链的遍历就可以改进。改进方法,就是需要遍历的属性明确列出来:代码: function createArr() { var t = []; for (var i = 0; i < 1000; i++) {
2016-07-03 10:15:45 4321
原创 前端性能优化:循环优化二,循环展开
这种方式就是把循环展开,据说可以提高性能,但测试效果不明显,在谷歌50中展开反倒变慢了,IE10这种变快了。看来实际使用中中还是需要测试测试代码: function doProcess(value1, value2) { return value1 + value2; } function createArr() { var t = [];
2016-07-01 17:19:58 3043
原创 前端性能优化:循环优化
近段时间在处理前端性能的优化,而优化的重点自然是循环的处理,循环能优化吗?可以肯定的是可以优化。核心是数组长度外提,去掉必要的判断。另外避免使用for in的循环,更不要使用封装过的循环。使用基本的for循环性能是for in的的好多倍,谷歌里边相差10几倍,IE10里边相差三倍,对于复杂的数据类型的就偏差更大了注意把数组的长度定位的循环外边,避免反复读取测试代码: var length = 30
2016-07-01 16:02:33 4411
DB2维护手册
2015-11-20
NPOI依赖程序集
2013-11-07
NPOI程序集
2013-11-06
云龙软件绿化教程
2013-05-20
HTML5 参考手册
2013-03-29
正则表达式应用
2012-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人