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 相关文章推荐
JavaScipt基本教程之JavaScript语言的基础
Jan 16 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 Javascript
正则表达式搭配js轻松处理json文本方便而老古
Feb 17 Javascript
JavaScript实现多维数组的方法
Nov 20 Javascript
javascript获取form里的表单元素的示例代码
Feb 14 Javascript
TypeScript 中接口详解
Jun 19 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
javascript类型系统_正则表达式RegExp类型详解
Jun 24 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
Dec 06 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
Jul 13 Javascript
微信小程序实现多选功能
Nov 04 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中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Python内置模块logging用法实例分析
2018/02/12 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
python连接mysql有哪些方法
2020/06/24 Python
数控技术应届生求职信
2013/11/13 职场文书
工作疏忽检讨书
2014/01/25 职场文书
五五普法心得体会
2014/09/04 职场文书
群众路线对照检查材料
2014/09/22 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
主持人开场白台词
2015/05/29 职场文书
淮海战役观后感
2015/06/11 职场文书
运动会运动员赞词
2015/07/22 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android