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 相关文章推荐
Div自动滚动到末尾的代码
Oct 26 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
Mar 01 Javascript
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
jquery设置控件位置的方法
Aug 21 Javascript
js中replace的用法总结
Dec 27 Javascript
jquery获取一个元素下面相同子元素的个数代码
Jul 31 Javascript
JavaScript 封装一个tab效果源码分享
Sep 15 Javascript
jQuery点击输入框显示验证码图片
May 19 Javascript
jQuery实现产品对比功能附源码下载
Aug 09 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
JS数组去重的6种方法完整实例
Dec 08 Javascript
vue render函数动态加载img的src路径操作
Oct 26 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简单选择排序算法实例
2015/01/26 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
IE bug table元素的innerHTML
2010/01/11 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
Python查找相似单词的方法
2015/03/05 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
python读文件的步骤
2019/10/08 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
英国二手物品交易网站:Preloved
2017/10/06 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
网络教育毕业生自我鉴定
2013/10/10 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python