JQuery for与each性能比较分析


Posted in Javascript onMay 14, 2013

最近在做一个性能优化方面的工作,遇到很多细节问题,现在一一把遇到的问题记录下来分享给大家,废话就不多谢,我直接贴代码。

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title>for与each性能比较</title> 
<script src="../Cks/jquery-1.7.1.min.js" type="text/javascript"></script> 
<script type="text/javascript" language="javascript"> 
function getSelectLength() { 
var time1 = new Date().getTime(); 
var len = $("#select_test").find("option").length; 
var selectObj = $("#select_test"); 
for (var i = 0; i < len; i++) { 
if (selectObj.get(0).options[i].text == "111111") { 
selectObj.get(0).options[i].selected = true; 
break; 
} 
} 
var time2 = new Date().getTime(); 
alert("for循环执行时间:" + (time2 - time1)); 
time1 = new Date().getTime(); 
$("#select_test").find("option").each(function () { 
if ($(this).text() == "111111") { 
$(this)[0].selected = true; 
} 
}); 
time2 = new Date().getTime(); 
alert("each循环执行时间:" + (time2 - time1)); 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div><select id="select_test"> 
<option value='1'>111111</option> 
<option value='2'>222222</option> 
<option value='3'>333333</option> 
<option value='4'>444444</option> 
<option value='5'>5</option> 
<option value='6'>6</option> 
<option value='7'>7</option> 
<option value='8'>8</option> 
<option value='9'>9</option> 
<option value='10'>10</option> 
<option value='11'>11</option> 
<option value='12'>12</option> 
<option value='13'>13</option> 
<option value='14'>14</option> 
<option value='15'>15</option> 
<option value='16'>16</option> 
<option value='17'>17</option> 
<option value='18'>18</option> 
<option value='19'>19</option> 
<option value='20'>20</option> 
</select><input type="button" value="开始比较" onclick="getSelectLength();" /></div> 
<div> 
</form> 
</body> 
</html>

输入出入
for循环执行时间:1
each循环执行时间:3
两次结果直接说明了问题。
Javascript 相关文章推荐
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
jQuery scroll事件实现监控滚动条分页示例
Apr 04 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
Jun 23 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
常用DOM整理
Jun 16 Javascript
JavaScript中SetInterval与setTimeout的用法详解
Nov 10 Javascript
JavaScript数组方法总结分析
May 06 Javascript
js定义类的几种方法(推荐)
Jun 08 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
Oct 26 Javascript
vue项目中用cdn优化的方法
Jan 03 Javascript
JavaScript私有变量实例详解
Jan 24 Javascript
Vue表单控件数据绑定方法详解
Feb 05 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
May 14 #Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
May 14 #Javascript
使用js检测浏览器的实现代码
May 14 #Javascript
Javascript 垃圾收集机制介绍理解
May 14 #Javascript
JavaScript实现GriwView单列全选(自写代码)
May 13 #Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
May 13 #Javascript
js 程序执行与顺序实现详解
May 13 #Javascript
You might like
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
JS如何生成动态列表
2020/09/22 Javascript
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
国际领先的学术出版商:Springer
2017/01/11 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
数据库专业英语
2012/11/30 面试题
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
啤酒销售实习自我鉴定
2013/09/24 职场文书
专升本个人自我评价
2013/12/22 职场文书
网吧消防安全制度
2014/01/28 职场文书
店面销售职位的职责
2014/03/09 职场文书
百年校庆节目主持词
2014/03/27 职场文书
实习介绍信模板
2015/01/30 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers