JQuery for与each性能比较分析

话不多说,直接上demo:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQuery for与each性能比较分析</title>
</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>
</form>
</body>
<script src="jquery-1.8.1.min.js"></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>
</html>

  输出: 
    for循环执行时间:1 
    each循环执行时间:3

如果不够明显,可以多copy一些option

时间: 2024-08-03 02:08:44

JQuery for与each性能比较分析的相关文章

转载Aaron ---- jQuery 2.0.3 源码分析core - 选择器

jQuery 2.0.3 源码分析core - 选择器(02) 声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 打开jQuery源码,一眼看去到处都充斥着正则表达式,jQuery框架的基础就是查询了,查询文档元素对象,所以狭隘的说呢,jQuery就是一个选择器,并这个基础上构建和运行查询过滤器! 工欲善其事,必先利其器,所以先从正则入手 我们来分解一个表达式 // A simple way to check for HTML strings // Prioritize

jQuery 2.0.3 源码分析core - 整体架构

转载http://www.cnblogs.com/aaronjs/p/3278578.html 整体架构 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作. 例如: $().find().css() $().hide().html('....').hide(). 从上面的写法上至少可以发现2个问题 1. jQuery对象的构建方式 2 .jQuery方法的调用方式 分析一:jQuery的无new构建 JavaScript是函数式语言,函数可以实现类,类就是面向对象编程中最基本的概

转载Aaron博客 ---- jQuery 2.0.3 源码分析core - 整体架构

jQuery 2.0.3 源码分析core - 整体架构 整体架构 拜读一个开源框架,最想学到的就是设计的思想和实现的技巧. 废话不多说,jquery这么多年了分析都写烂了,老早以前就拜读过, 不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery又给扫一遍 我也不会照本宣科的翻译源码,结合自己的实际经验一起拜读吧! github上最新是jquery-master,加入了AMD规范了,我就以官方最新2.0.3为准 整体架构 jQuery框架的核心就是从HTML文档中匹配元素并

[JS][easyui]jQuery EasyUI Datagrid VirtualScrollView视图简单分析

 大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datagrid组件的各方面性能,不过任何事情都是可以变通解决的,virtualScrollView就是一种不错的解决方案. virtualScrollView的准则就是尽量少画tr到table里,表格的高度是有限的,而用户的可见区域是很有限的,所以数据量很大的时候,是没有必要将所有数据数据都画到表格中

mysql性能查看&分析

第一步.检测系统状态 通过系统自带工具检测系统状态,cpu.内存.交换空间.磁盘利用率,还有关注那些占用cpu和内存的进程. sar检测系统是否存在IO问题 yum -y install systat sar -u 2 10    每隔2秒执行一次,共执行10次 [email protected] zones]# sar -u 2 10 Linux 3.10.0-123.el7.x86_64 (cp-mysql04-new) 2016年01月07日 _x86_64_ (8 CPU) 15时03分

缓存jQuery对象来提高性能

jQuery使元素的选择变得异常简单,这也是它快速流行起来的一大原因,如果你看刚刚开始使用jQuery朋友写的代码时,会发现很多数人写的代码都在滥用jQuery选择器.   如果你发现同一元素被查找多次时,你就应该将该jQuery对象缓存起来,不然每次查找都要遍历整个文档.这个话题可能显得有点老生常谈,因为这几天写的东西都和调试jQuery代码有关系,所以将这个问题再次说明一下.关于在控制台中打印程序执行时间大家可以参考下使用 console.time() 计算jQuery代码执行时间,我们使用

jQuery.lazyload使用及源码分析

前言: 貌似以前自己也写过图片懒加载插件,但是新公司使用的是jQuery.lazyload插件,为了更好的运用,自己还是把源码看了遍,分别记录了如何使用, 插件原理,各个配置属性的完整解释,demo实例,源码分析(较简短),源码分析可以配合使用,配置属性,原理进行阅读,如需转载,请注明出处 博客园 华子yjh 一.如何使用 // 最简单的使用,不带参数 $('img').lazyload(); // 带参数(配置对象),下面配置对象中的各个属性值都是默认的 $('img').lazyload({

性能结果分析

1.性能结果分析 性能结果分析是一个比较复杂的过程.需要综合硬件.操作系统.应用程序等多方面来定位. 1.1.  硬件的影响 硬件对服务器性能影响还是蛮大的,如果是土豪的话,可以直接买最好的.我们分析硬件主要是希望选择合适的配置,节约资源,避免出现高射炮打蚊子的情况. 1.1.1.   CPU 在资金的充足下,一般来说CPU的数量越多,主频越高,那么服务器的性能也就会越好.在实际测试过程中,如果在大压力下持续观察CPU的使用率很低,那么CPU的资源基本上是可以满足服务器要求的.这样的情况其实是有

Linux性能监控分析命令(五)—free命令介绍

性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Linux内存使用最常用的命令语法格式: free [options] 参数说明: -m:以M为单位查看内容使用情况(默认为kb) -b:以字节为单位查看内存使用情况 -s:可以在指定时间段内不间断监控内存使用情况 -k:以KB为单位显示内存使用情况 -g:以GB为单位显示内存使用情况 -o:不显示缓冲区