优化javascript的执行速度


Posted in Javascript onJanuary 23, 2010

1:修改循环的执行方式

for(var i=0;i<element.childNodes.length;i++){
执行代码
}
这种方式每次循环都要取element.childNodes.length的值,应该改为如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
执行代码
}

2:修改dom操作的次数
dom批量插入一批类似的节点不如先构造一个对象,插入一次
比如下面这种方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[

var element=document.createElement("a");
a.href="";
div.appendChild(element);

}
//构建好对象后一次插入
document.body.appendChild(div);
3:减少对象的引用层次,可以减少浏览器对对象解析的复杂度

比如一个方法为 net.Loader.LoadXml(params)
不必每次都这么使用,可以
var loadXml=net.Loader.LoadXml;
loadXml(params);

Javascript 相关文章推荐
jquery 选项卡效果 新手代码
Jul 08 Javascript
js清空表单数据的两种方式(遍历+reset)
Jul 18 Javascript
jQuery中prepend()方法用法实例
Dec 25 Javascript
在React框架中实现一些AngularJS中ng指令的例子
Mar 06 Javascript
jQuery qrcode生成二维码的方法
Apr 03 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
Sep 21 Javascript
javascript监听页面刷新和页面关闭事件方法详解
Jan 09 Javascript
JS文件中加载jquery.js的实例代码
May 05 jQuery
深入浅析Node.js 事件循环、定时器和process.nextTick()
Oct 22 Javascript
react 组件传值的三种方法
Jun 03 Javascript
JavaScript ES 模块的使用
Nov 12 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
Jan 23 #Javascript
JQuery 1.4 中的Ajax问题
Jan 23 #Javascript
用JS写的一个TableView控件代码
Jan 23 #Javascript
JQuery 操作Javascript对象和数组的工具函数小结
Jan 22 #Javascript
JavaScript 学习笔记(十四) 正则表达式
Jan 22 #Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
Jan 22 #Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
Jan 22 #Javascript
You might like
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
python二分法实现实例
2013/11/21 Python
python使用KNN算法手写体识别
2018/02/01 Python
python让列表倒序输出的实例
2018/06/25 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
解决python线程卡死的问题
2019/02/18 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
Python内置函数property()如何使用
2020/09/01 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
会计电算化专业毕业生推荐信
2013/12/24 职场文书
高二英语教学反思
2016/03/03 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL