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 相关文章推荐
C#中TrimStart,TrimEnd,Trim在javascript上的实现
Jan 17 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
Apr 07 Javascript
JS与C#编码解码
Dec 03 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
javascript跨域总结之window.name实现的跨域数据传输
Nov 01 Javascript
Bootstrap基本插件学习笔记之按钮(21)
Dec 08 Javascript
Vue系列:通过vue-router如何传递参数示例
Jan 16 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
JavaScript实现获取远程的html到当前页面中
Mar 26 Javascript
ES6新特性八:async函数用法实例详解
Apr 21 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
Nov 27 Javascript
jQuery实现网页拼图游戏
Apr 22 jQuery
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实现框架(二)
2006/10/09 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
php语言流程控制中的主动与被动
2012/11/05 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
js面向对象的写法
2016/02/19 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
用python制作个音乐下载器
2021/01/30 Python
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
毕业生怎样写好自荐信
2013/11/11 职场文书
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
销售团队口号大全
2014/06/06 职场文书
党的作风建设心得体会
2014/10/22 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
成事在人观后感
2015/06/16 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python
python运行脚本文件的三种方法实例
2022/06/25 Python