1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head runat="server">
  3. <title>for与each性能比较</title>
  4. <script src="../Cks/jquery-1.7.1.min.js" type="text/javascript"></script>
  5. <script type="text/javascript" language="javascript">
  6. function getSelectLength() {
  7. var time1 = new Date().getTime();
  8. var len = $("#select_test").find("option").length;
  9. var selectObj = $("#select_test");
  10. for (var i = 0; i < len; i++) {
  11. if (selectObj.get(0).options[i].text == "111111") {
  12. selectObj.get(0).options[i].selected = true;
  13. break;
  14. }
  15. }
  16. var time2 = new Date().getTime();
  17. alert("for循环执行时间:" + (time2 - time1));
  18. time1 = new Date().getTime();
  19. $("#select_test").find("option").each(function () {
  20. if ($(this).text() == "111111") {
  21. $(this)[0].selected = true;
  22. }
  23. });
  24. time2 = new Date().getTime();
  25. alert("each循环执行时间:" + (time2 - time1));
  26. }
  27. </script>
  28. </head>
  29. <body>
  30. <form id="form1" runat="server">
  31. <div><select id="select_test">
  32. <option value='1'>111111</option>
  33. <option value='2'>222222</option>
  34. <option value='3'>333333</option>
  35. <option value='4'>444444</option>
  36. <option value='5'>5</option>
  37. <option value='6'>6</option>
  38. <option value='7'>7</option>
  39. <option value='8'>8</option>
  40. <option value='9'>9</option>
  41. <option value='10'>10</option>
  42. <option value='11'>11</option>
  43. <option value='12'>12</option>
  44. <option value='13'>13</option>
  45. <option value='14'>14</option>
  46. <option value='15'>15</option>
  47. <option value='16'>16</option>
  48. <option value='17'>17</option>
  49. <option value='18'>18</option>
  50. <option value='19'>19</option>
  51. <option value='20'>20</option>
  52. </select><input type="button" value="开始比较" onclick="getSelectLength();" /></div>
  53. <div>
  54. </form>
  55. </body>
  56. </html>

输入出入:

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

两次结果直接说明了问题。

jquery的each和js原生for循环性能对比的更多相关文章

  1. jquery $(document).ready() 与js原生的window.onload的区别总结

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间       ...

  2. 仿jQuery的siblings效果的js原生代码

    仿jQuery的siblings效果的js原生代码 <previousSibling> 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点). <nextSibling&g ...

  3. js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)

    js原生的url操作函数,完善的. /*****************************/ /* 动态修改url */ /*****************************/ var ...

  4. 图片轮播(左右切换)--JS原生和jQuery实现

    图片轮播(左右切换)--js原生和jquery实现 左右切换的做法基本步骤跟 上一篇文章  淡入淡出 类似,只不过修改了一些特定的部分 (1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外 ...

  5. 图片轮播(淡入淡出)--JS原生和jQuery实现

    图片轮播(淡入淡出)--js原生和jquery实现 图片轮播有很多种方式,这里采用其中的 淡入淡出形式 js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成j ...

  6. js原生 + jQuery实现页面滚动字幕

    js原生/jQuery实现页面滚动字幕效果 17:45:49 在新闻列表或者文章列表信息等页面中很容易要求实现字幕滚动的效果,以下为简单的实现页面中滚动字幕的效果 1.jQuery实现页面滚动字幕效果 ...

  7. JS原生Ajax&Jquery的Ajax技术&Json

    1.介绍Ajax Ajax = 异步 JavaScript 和 XML Ajax是一种创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以不用整个 ...

  8. 认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法

    (一)认识JQuery  JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法    JQuery的主旨:以更少的代码,实现更多的功能 (二)JQue ...

  9. 使用jQuery.makeArray() 将多种类型转换成JS原生Array

    jQuery.makeArray(obj)这个函数从名字上来看非常easy猜出它的用途:应该是用来将传入的对象转换成一个原生array 再看看官网上对它的解释:Convert an array-lik ...

随机推荐

  1. Jmeter 正则表达式提取Response Headers,Response Body里的值

    实践过程中遇到需要提取Response Headers,Response Body里的值 一.获取Response Body的值,这里采用json提取器形式 1.Response Body返回值,如下 ...

  2. mysql查询报错this is incompatible with sql_mode=only_full_group_by

    临时改法:select @@GLOBAL.sql_mode;查询当前mysql的模式去掉ONLY_FULL_GROUP_BY重新设置:set @@GLOBAL.sql_mode='STRICT_TRA ...

  3. Python 操作 Redis 发布订阅

    Python 操作 Redis 发布订阅 介绍 Redis可以通过多个客户机订阅相同的频道,一个服务机在相应频道进行发布,从而实现在客户机收听服务机发布相应信息,可以利用这个机制实现多个客户机之间的信 ...

  4. MySQL基础语句(MySQL内置函数 )

    MySQL 字符串函数 函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码. 返回 CustomerName 字段第一个字母的 ASCII 码: SELECT ASCI ...

  5. .NET6运行时动态更新限流阈值

    昨天博客园撑不住流量又崩溃了,很巧正在编写这篇文章,于是产生一个假想:如果博客园用上我这个限流组件会怎么样呢? 用户会收到几个429错误,并且多刷新几次就看到了内容,不会出现完全不可用. 还可以降低查 ...

  6. Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块

    一.所需硬件材料 1.ESP8266:01s某宝上3.5块钱 2.杜邦线:某宝几块钱一组40P,这里只需要三根,用于连接 树莓派与继电器 3.烧录器 二.ESP8266 AT固件烧录 ESP8266主 ...

  7. [atAGC045F]Division into Multiples

    令$d=\gcd(a,b)$,可以发现$c|(ax+by)$等价于$lcm(c,d)|(ax+by)$,因此不妨令$c'=lcm(c,d)$,然后将$a$.$b$和$c$同时除以$d$ 接下来设$(a ...

  8. Java设计模式之(六)——桥接模式

    1.什么是桥接模式? Decouple an abstraction from its implementation so that the two can vary independently. 桥 ...

  9. 【Linux】(1)安装

    VMware虚拟机安装Linux,IP地址显示为127.0.0.1的解决方案 ① 打开该虚拟机,点击导航栏"虚拟机(M)",选择"设置(S)..." ② 将&q ...

  10. Django(76)isort工具对import导入进行排序

    前言 我们在开发项目时经常会进行导包有import *格式的,还有from * import *格式的,最后就会显示的很乱,那么有没有什么工具能对导包进行一键排序呢?答案是有的,使用isort工具 i ...