文档章节

高性能javascript-数据访问笔记

chuhx
 chuhx
发布于 2012/03/28 11:16
字数 334
阅读 707
收藏 15

在javascript中,数据存储的位置会对代码整体性能产生重大的影响。数据存储共有4种方式:直接量、变量、数组项、对象成员。它们有不同的性能考虑。

1、访问直接变量和局部变量的速度最快,相反,访问数组元素和对象成员相对较慢。

2、由于局部变量存在于作用域链的起始位置,因此访问局部变量比访问跨作用域变量更快。变量在作用域链中的位置越深,访问所需时间就越长。由于全局变量总处在作用域链的最末端,因此访问速度也是最慢的。

3、避免使用with语句,因为它会改变运行期上下文作用域链。同样,try-catch语句中的catch字句也有同样的影响,因此也要小心使用。

4、嵌套的对象成员会明显影响性能,尽量少用。

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

6、通常来说,你可以通过把常用的对象成员、数组元素、跨域变量保存在局部变量中来改善javascript性能,因为局部变量访问速度更快。

© 著作权归作者所有

chuhx
粉丝 2
博文 10
码字总数 2691
作品 0
杭州
私信 提问
加载中

评论(1)

JillLiu
JillLiu
从性能和设计上很难作出取舍
《高性能javascript》 笔记

第一部分:关于script 当把js脚本通过script标签放在head中的时候,早期浏览器在遇到script的时候会阻止浏览器加载和渲染html。知道javascript脚本被下载并执行完,且这些javascript是依次下载和...

modernizr
2014/04/03
497
1
精读《高效 javascript》

前言 本期我来给大家推荐的书是《高性能JavaScript》,在这本书中我们能够了解 javascript 开发过程中的性能瓶颈,如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。同样...

程序员解决师
2018/08/23
0
0
【前端性能优化】高性能JavaScript读书笔记

序 曾经看过一篇文章,有一句话这样说: 只有在大学的图书馆里,你才能真正赚回你交的学费。 临近毕业,还想再去图书馆多转转。偶然在架子上发现了这本书,一看作者是写大名鼎鼎的红宝书的人...

番茄沙司
03/22
0
0
JavaScript 极致性能追求:TC39 二进制 AST 提案

原文作者:Dylan Schiemann 译者:UC 国际研发 Jothy 写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于...

UC国际技术
2018/12/11
0
0
你不懂js系列学习笔记-异步与性能- 05

第五章: 程序性能 原文:You-Dont-Know-JS 这本书至此一直是关于如何更有效地利用异步模式。但是我们还没有直接解释为什么异步对于 JS 如此重要。最明显明确的理由就是 性能。 举个例子,如果...

寇格莫
2018/05/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤

数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。 在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,...

HollisChuang
14分钟前
3
0
乐观锁和悲观锁

乐观锁和悲观锁 在并发环境下,事务的隔离性很难保证,因此会出现很多并发一致性的问题 事务的特性:原子性、一致性、隔离性、持久性 1、丢失修改:T1和T2两个事务对同一个数据进行修改,T1先...

大瑞清_liurq
23分钟前
4
0
Scrum敏捷价值观与原则

Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。如果还不知道Scrum敏捷开发的朋友们,请出门左转,点击 Scrum 了解。 敏捷价值观 个体和互动 高于 流程和工具 工作的软件 高于 ...

醉美閑聖
23分钟前
4
0
android焦点

final RelativeLayout relativeLayout=new RelativeLayout(context); relativeLayout.setClickable(true); relativeLayout.setFocusable(true); rel......

安卓工程师王恒
25分钟前
3
0
IP地址分配与中继设备简介

1. TCP/IP模型 TCP/IP协议是在OSI参考模型出现之间就被开发的,并广泛部署在计算机网络中。但是,后来由于概念混淆,TCP/IP模型的层次和名称往往与OSI模型的层次名称相互借用。如图1.所示。 ...

xiangyunyan
26分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部