JavaScript效率调优经验


Posted in Javascript onJune 04, 2009

1. 将循环次数的定义放到循环体外:这点好像所有的语言都是一样的,在100个元素以上时效果越来越明显。也就是说将for(var i=0;i<arrData.length;i++)修改为for(var i=0,len=arrData.length;i<len;i++)会很大地提高性能,因为它避免了每循环一次计算一下length的操作。另外,有老外宣称,降序循环速度更快,即for(var i=arrData.length-1;i>=0;i--)。本人测试后发现和升序循环相比效率差异不大。
2. 将多层对象引用改为更短路径的引用:JavaScript中,这个问题非常明显,如proposalNo域var proposalNoField = fm.proposalNo。在一个循环中(100次以上)使用proposalNoField.value和fm.proposalNo.value的区别非常巨大。所以尽量通过使用中间变量的方式来缩短访问路径。
3. 第三方JavaScript包的影响:由于JavaScript支持原型,如prototype.js就修改了Array的一些行为,有时自己写的代码是没有问题的,但是如果被修改了原型,则也会发生问题,如prototype.js的1.4版本就存在Bug,某些情况下的数组排序会导致死循环。

Javascript 相关文章推荐
javascript之ESC(第二类混淆)
May 06 Javascript
jquery动态加载select下拉框示例代码
Dec 10 Javascript
javascript教程:关于if简写语句优化的方法
May 17 Javascript
JS判断日期格式是否合法的简单实例
Jul 11 Javascript
AngularJS基础 ng-include 指令简单示例
Aug 01 Javascript
JS针对Array的各种操作汇总
Nov 29 Javascript
jQuery DateTimePicker 日期和时间插件示例
Jan 22 Javascript
jfinal与bootstrap的登出实战详解
Nov 27 Javascript
vue iView 上传组件之手动上传功能
Mar 16 Javascript
javascript触发模拟鼠标点击事件
Jun 26 Javascript
vue点击按钮动态创建与删除组件功能
Dec 29 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
Jul 20 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
Jun 04 #Javascript
javascript 常用方法总结
Jun 03 #Javascript
Javascript 获取字符串字节数的多种方法
Jun 02 #Javascript
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
Jun 02 #Javascript
Javascript String对象扩展HTML编码和解码的方法
Jun 02 #Javascript
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
Jun 02 #Javascript
慎用 somefunction.prototype 分析
Jun 02 #Javascript
You might like
php header()函数使用说明
2008/07/10 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
python求众数问题实例
2014/09/26 Python
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
浅谈django中的认证与登录
2016/10/31 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
python里运用私有属性和方法总结
2019/07/08 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
英国高街电视:High Street TV
2018/05/22 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
ddl,dml和dcl的含义
2016/05/08 面试题
饮料业务员岗位职责
2013/12/15 职场文书
致200米运动员广播稿
2014/02/06 职场文书
生日庆典策划方案
2014/06/02 职场文书
小学安全汇报材料
2014/08/14 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
工作检讨书大全
2015/01/26 职场文书
医院病假条怎么写
2015/08/17 职场文书
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL