既然是总结,就不要重复书中内容了,适当总结、扩展、思考。
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
这篇文章将原型链中的方法,提到了自己的类库中,也是避免这个问题的一个解决方法。