文章目录
js中数据存储的位置,会影响程序执行时的执行速度。
js中数据的存放有四个位置。
- 字面量。如3
- 本地变量。
- 数组元素。
- 对象成员。
由于传统的js引擎查找变量是基于作用域链的,所以变量在作用域链的深度越深,耗时越多,因此那些改变作用域链的语句(with,catch,eval)要小心使用。
经过优化后的js引擎查找存放在不同地方的变量的时间都差不多,这也许也是chrome浏览器比较好用的原因之一。
闭包即影响内存,又影响程序执行时间,所以要小心使用。
对象成员分为实例成员和原型成员,原型成员的深度越高(在原型链中),查找耗时越多。所以推荐使用chrome、safari浏览器。
嵌套成员也存在查找耗时的问题。
参考文献
《高性能JavaScript》