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实现简单查找与替换的方法
Jul 22 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
May 03 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
JS中如何实现点击a标签返回页面顶部的问题
Jan 19 Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
Aug 21 Javascript
详解vue-router 路由元信息
Sep 13 Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 Javascript
vue和小程序项目中使用iconfont的方法
May 19 Javascript
微信小程序实现自定义底部导航
Nov 18 Javascript
关于angular 8.1使用过程中的一些记录
Nov 25 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
php抓取https的内容的代码
2010/04/06 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
php数组去除空值函数分享
2015/02/02 PHP
php集成动态口令认证
2016/07/21 PHP
php intval函数用法总结
2019/04/14 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
Python访问纯真IP数据库脚本分享
2015/06/29 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
python中dict使用方法详解
2019/07/17 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
2020/02/17 Python
python中常用的数据结构介绍
2021/01/12 Python
自我评价格式
2014/01/06 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
优秀团队申报材料
2014/12/26 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
公司年夜饭通知
2015/04/25 职场文书
新郎结婚感言
2015/07/31 职场文书
小学课改工作总结
2015/08/13 职场文书
中学生运动会广播稿
2015/08/19 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python