2.数据访问 -高性能JavaScript

既然是总结,就不要重复书中内容了,适当总结、扩展、思考。

 

1.访问方式

由于JavaScript的数据结构很简单,所以数据访问的方式很少。

直接量、变量、数组元素、对象成员。

访问前两个相对快些。

 

2.作用域

var doc = document,

 hasOwn = Object.prototype.hasOwnProperty,

 push = Array.prototype.push

看了gitHub上许多成熟的js类库都有这样的写法,

把全局变量保存在局部变量中使用,访问速度会比直接使用快。

因为全局变量被放在作用域最末端。

如果一个变量定义两遍,那么会取前面一个,然后全局变量又被放在最末端,所以你懂的。

 

3.尽可能不会使用改变作用域的方法

eval、with都会改变作用域,所以此时函数会重新寻找所有的元素,try-catch的catch也会造成这样的问题。

 

4.嵌套的对象成员会影响性能

避免使用太多不必要的 .toString() 等方法。

href比window.href快。是因为window.操作会遍历window的所有对象。

 

5.属性或方法在原型链中的位置越深、访问速度越慢

http://www.alloyteam.com/2012/12/4304/#prettyPhoto

这篇文章将原型链中的方法,提到了自己的类库中,也是避免这个问题的一个解决方法。

 

 

posted @ 2013-01-07 19:09  Bug罗  阅读(330)  评论(0编辑  收藏  举报