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 中的replace方法说明
Apr 13 Javascript
javascript数组去重方法汇总
Apr 23 Javascript
JQuery中属性过滤选择器用法实例分析
May 18 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
Nov 18 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
Jul 18 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
javascript基于定时器实现进度条功能实例
Oct 13 Javascript
vue2中的keep-alive使用总结及注意事项
Dec 21 Javascript
vue利用axios来完成数据的交互
Mar 23 Javascript
vue 解决遍历对象显示的顺序不对问题
Nov 07 Javascript
微信小程序点击滚动到指定位置的实现
May 22 Javascript
解决新建一个vue项目过程中遇到的问题
Oct 22 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字符串分割函数explode的实例代码
2013/02/07 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
广告显示判断
2006/08/31 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
javascript 用函数语句和表达式定义函数的区别详解
2014/01/06 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
vue element项目引入icon图标的方法
2018/06/06 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
python实现ipsec开权限实例
2014/11/11 Python
Python pass详细介绍及实例代码
2016/11/24 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
python中单下划线_的常见用法总结
2018/07/10 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
酒店副总经理岗位职责范本
2014/02/04 职场文书
计算机网络专业求职信
2014/06/05 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
技术负责人岗位职责
2015/02/10 职场文书
综合测评个人总结
2015/03/03 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
python process模块的使用简介
2021/05/14 Python
Java数据结构之链表相关知识总结
2021/06/18 Java/Android