javascript性能提升——巧用局部变量
来源:互联网 发布:apache日志按天生成 编辑:程序博客网 时间:2024/06/05 17:43
——authored by 李家优
javascript中一个标识符所在的位置越深,它的读写速度也越慢。因此,函数中读写局部变量总是最快的,而读写全局变量通常是最慢的。一个好的经验法则是:如果某个跨作用域的值在函数中被引用一次以上,那么就把它存储到局部变量里。
例如:
<!-- 优化前 --><script type="text/javascript"> function initUI () { var bd = document.body, links = document.getElementByTagName("a"), i=0, len=links.length; while(i < len){ update(links[i++]); } document.getElementById("go-btn").onclick = function(){ start(); } bd.className = "active"; }</script>该函数引用了三次document,而document是个全局对象。搜索该变量的过程必须遍历整个作用域链接,直到最后在全局变量对象中找到。你可以通过以下方法减少对性能的影响:先将全局变量的引用存储在一个局部变量中,然后使用这个局部变量代替全局变量。
例如:
<!-- 优化后 --><script type="text/javascript"> function initUI () { var doc=document, bd = doc.body, links = doc.getElementByTagName("a"), i=0, len=links.length; while(i < len){ update(links[i++]); } doc.getElementById("go-btn").onclick = function(){ start(); } bd.className = "active"; }</script>
0 0
- javascript性能提升——巧用局部变量
- javascript性能提升——访问集合元素时使用局部变量
- JavaScript—变量提升
- JavaScript—变量提升、函数提升
- JavaScript——变量提升
- javascript性能提升——脚本位置
- javascript性能提升——脚本合并
- javascript性能提升——字符串连接
- javascript性能优化之局部变量的使用
- javascript那些事儿——提升:零散变量问题
- javascript编译器的一些原理——变量提升
- JavaScript笔记——函数、变量的提升
- Javascript中的预解释——变量提升
- javascript性能提升——动态加载脚本
- javascript性能提升——减少访问DOM的次数
- javascript性能提升——减少遍历集合的开销
- javascript性能提升——最小化重绘和重排
- javascript性能提升——Duff's Device
- 论坛开源项目推荐(12.25):菜单(Menu)
- hadoop-mapreduce-without-reducer
- Mac和iOS开发资源汇总—更新于2013-10-14
- [Android开发常见问题-24] Android 的 SurfaceView 双缓冲应用
- BNUT 1548 NEW YEARS 2014
- javascript性能提升——巧用局部变量
- 深入了解epoll
- 干燥性手脱皮
- C语言求余数问题
- SqlServer2008 R2 安装失败提示出现以下错误 服务 MSSQLSERVEROLAPSERVICE 启动请求失败
- 好快啊
- .net框架
- 深入理解java虚拟机(一):java内存区域(内存结构划分)
- 黑马程序员-内省